Hey @Drrickryp, THanks for the tag! It was a combined effort, but I thought you came up with the first/last scenario... anyhwo, it is working very well. I have a list with 2,400 items, and it does indeed work well. Also, by using the ShowColumns() command, you can pull in only the columns you wish to have in the collection. If you dont need it, no sense in wasting time and memory space with data you dont need.
Here are my actual commands, which I put in the "OnStart" control for the app.
Concurrent(
ClearCollect(MDL_List1,Filter(ShowColumns(SortByColumns(Master_Drawing_List,"ID",Ascending),"ID","MD_PartNumber","MD_Project","MD_LatestRevNumber","MD_DrawingRevDate","MD_EngrgRelDate","Title","MD_PDM_Link","MD_LinkToDrawing","MD_IsActive","MD_Data_Flagged"),ID>0)),
ClearCollect(MDL_List2,Filter(ShowColumns(SortByColumns(Master_Drawing_List,"ID",Descending),"ID","MD_PartNumber","MD_Project","MD_LatestRevNumber","MD_DrawingRevDate","MD_EngrgRelDate","Title","MD_PDM_Link","MD_LinkToDrawing","MD_IsActive","MD_Data_Flagged"),ID>0))
);
ClearCollect(MDL_All,MDL_List1,Filter(MDL_List2, Not(ID in MDL_List1.ID)));Clear(MDL_List1);Clear(MDL_List2)
So, everything is pulled one time. I do have a data refresh button that executes the exact same commands if the user thinks his data is stale. I also have a timer that runs, and reloads the data every 30min. If you dont do that, since data in your collection does not update automatically, you might want to recollect the data from sharepoint regularly. It will depend on your specific use. Also, note that I cleared the two collections used to pull in the two separate lists. To minimize memory usage.
This really did work well. Much better than I could have hoped! I did have another idea.. To perhaps get more items. I was wondering if can collect 2,000 items at a time using the ID of the sharepoint list. (if(ID>2000 AND ID<4000) etc etc. It might take using a Flow, though, because I think that using gt or lt functions are not delegable. However, flow allows you to to get items, and use ID. I think you can do get items using the get items filter. Then sending back to powerapps using the Response action. I have no idea how long it would take.