2016-04-21 74 views
1

我有一張表,我必須每天更新10K條記錄。使用簡單的更新語句時,這會花費很多時間。 SQL Azure中有更快的方式來批量更新記錄嗎?如何每天更新SQL Azure中的大量記錄

問候 迪特

+0

什麼效能層級是你嗎? 10K記錄不是很多,但是如果行大小很大,而且基本或者是一個低端標準層,那麼您可能會遇到perf限制,特別是在事務日誌中(通常是首先要執行的)。 – SQLmojoe

回答

1

SQL Azure是不是用幾個things.when例外截然不同的查詢速度很慢,你必須考慮很多因素,同樣喜歡OnPremises。下面是你可以開始排除故障的方式..

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 

,如果你在等待第一個查詢類型是磁盤,內存,IO和DTU查詢一再表明DTU百分比> 90,那麼你可能需要過升級數據庫層或考慮調整查詢

如果沒有上面的幫助,你也可以發表你的執行計劃tooo