Switching over to Azure SQL is pretty easy.
If you are happy to keep a flat SQL table to mirror your existing Excel file structure you can simply recreate this as a single SQL table ensuring that the column names are an exact match (and then import your data to it).
Once you connect to the Azure SQL database using the in-built PowerApp connector you simply switch over the data source in your app from Excel to SQL.
Excel DataSource = Table1
SQL DataSource = '[dbo].[Table1]'
It's a little while since I made the switch but from what I remember that's it - it took me under an hour to port my original app running off 3 Excel tables.
Of course, once you are running on SQL you have the opportunity to build out a relational database. Contrary to what I first read, working with foreign keys in PowerApps is surprisingly easy and if you use collections to hold the data from the LookUp() function you can populate dropdown lists etc. with no obvious drop in performance.
Hope this helps.
Adding sort(yourlistname,ID,descending) to the filter worked for me! Quick and easy way to show the most recent items and get around the 500 item limit! For example:
Filter(Sort(YourListName, ID,Descending), StartsWith(Site.Value,sortVar), Month(itemDate) = _Month)
Since my previous post (about switching to using Azure SQL) I've moved on to using SQL Stored Proceedures and Flow for the more complex queries. You pass the variables from PowerApps (e.g. date range) to the stored proceedure (via Flow) so you return only what you need, rather pulling everything out and then filtering (really useful if you are using a relational database). One query I switched over went from 30+ minutes to process in PowerApps to under 10 seconds.
The only bottleneck I now have is where I need to pull out user names - I only store the Office 365 GUID in my database and pulling out the user name is done in PowerApps. I suspect that this can be done in Flow to speed things up but as it only affects 2 rarely used queries I haven't investigated whether its possible.