I am in the process of migrating a data warehouse to Azure from our on premise solution. The nightly load process for the on premise solution takes between three and four hours to run depending on the incoming data. I am trying to move to an Azure implementation while changing absolutely as little as possible, so the code running on premise and in Azure is the same. Using the same source data and running the same code the Azure process takes over seven hours to complete the same nightly load.
I have started investigating the major bottlenecks and they seem to be queries that either update data in a table or delete data from a table. Since these queries are running on the Azure instance, against data already in the Azure instance, it seems unlikely that data latency is causing much of an issue. Using the query store in the Azure instance and the on premise server I have found that the queries running on the two are the same and are generating the same execution plan, but the queries in Azure are taking significantly longer.
The database on premise and the one in Azure are both in full recovery mode, so I do not think there is a logging time difference. The memory and processors are similar on premise and in Azure, but Azure actually has more memory available. I am not sure what else to look for as a difference between the systems. I am new to Azure and have been digging through documentation but have not found anything helpful yet. I am looking for some setting or configuration in Azure that is causing long update and delete transactions.