Azure sql database 如何在SQLAzure中每天更新大量记录

Azure sql database 如何在SQLAzure中每天更新大量记录,azure-sql-database,Azure Sql Database,我有一张表,每天都要更新超过10K的记录。当使用简单的update语句时,这需要花费大量时间。SQL azure中是否有更快的方法批量更新记录 问候 Dieter SQL Azure并不是因为不同的情况而有根本不同。当查询速度慢时,你必须考虑很多因素,比如OnFrimes。下面是你可以开始故障排除的方式。 1.)是否存在任何锁定/堵塞 这取决于您尝试从何处进行批量加载,上面的查询应该可以帮助您确定等待类型、是网络、DTU 2.)在使用Azure DBs时,您必须再考虑一个称为DTU的因素(简单

我有一张表,每天都要更新超过10K的记录。当使用简单的update语句时,这需要花费大量时间。SQL azure中是否有更快的方法批量更新记录

问候
Dieter

SQL Azure并不是因为不同的情况而有根本不同。当查询速度慢时,你必须考虑很多因素,比如OnFrimes。下面是你可以开始故障排除的方式。

1.)是否存在任何锁定/堵塞

这取决于您尝试从何处进行批量加载,上面的查询应该可以帮助您确定等待类型、是网络、DTU

2.)在使用Azure DBs时,您必须再考虑一个称为DTU的因素(简单地说就是每秒可以运行多少事务)

您可以使用下面的查询查看您的层是否阻塞

SELECT 
    (COUNT(end_time) - SUM(CASE WHEN avg_cpu_percent > 80 THEN 1 ELSE 0 END) * 1.0) / COUNT(end_time) AS 'CPU Fit Percent'
    ,(COUNT(end_time) - SUM(CASE WHEN avg_log_write_percent > 80 THEN 1 ELSE 0 END) * 1.0) / COUNT(end_time) AS 'Log Write Fit Percent'
    ,(COUNT(end_time) - SUM(CASE WHEN avg_data_io_percent > 80 THEN 1 ELSE 0 END) * 1.0) / COUNT(end_time) AS 'Physical Data Read Fit Percent'
FROM sys.dm_db_resource_stats

如果您在第一个查询中等待类型,则磁盘、RAM、IO和DTU查询一致地显示DTU百分比>90,那么您可能需要升级数据库层,或者考虑调整查询


如果上述任何一项都没有帮助,您也可以将您的执行计划发布到o

您所在的绩效级别?10K记录不是很多,但是如果行大小很大,并且您使用的是基本层或低端标准层之一,那么您可能会遇到性能限制,特别是在事务日志上(通常是第一个)。
SELECT 
    (COUNT(end_time) - SUM(CASE WHEN avg_cpu_percent > 80 THEN 1 ELSE 0 END) * 1.0) / COUNT(end_time) AS 'CPU Fit Percent'
    ,(COUNT(end_time) - SUM(CASE WHEN avg_log_write_percent > 80 THEN 1 ELSE 0 END) * 1.0) / COUNT(end_time) AS 'Log Write Fit Percent'
    ,(COUNT(end_time) - SUM(CASE WHEN avg_data_io_percent > 80 THEN 1 ELSE 0 END) * 1.0) / COUNT(end_time) AS 'Physical Data Read Fit Percent'
FROM sys.dm_db_resource_stats