如何每天更新SQL Azure中的大量记录

时间:2016-04-21 06:22:35

标签: azure-sql-database

我有一张表,每天必须更新10K以上的记录。使用简单的更新语句时,这会花费很多时间。在SQL azure中有更快的方法来批量更新记录吗?

问候 迪特

1 个答案:

答案 0 :(得分:1)

除了少数事情外,SQL Azure并没有根本的不同。当查询速度很慢时,你必须考虑像OnPremises这样的很多因素.Below就是你开始排除故障的方法..

  

1。)是否有任何锁定/阻止

select blocking_session_id,wait_type,wait_time,last_Wait_type
 from sys.dm_exec_requests qs
cross apply
sys.dm_exec_sql_text(qs.sql_handle)

这取决于您尝试批量加载的位置,上面的查询应该显示帮助您确定什么是等待类型,是网络,DTU ..

  

2.。)在使用Azure DB时,您必须再使用一个名为DTUS的因子(简单地说每秒可以运行多少事务)。

您可以使用以下查询来查看您的等级是否正在窒息..

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,那么你可能还需要升级数据库层或考虑调优查询

如果以上都不起作用,您也可以发布执行计划