我有一個包含大約100萬條記錄的表。表結構如下所示。 UID列是主鍵和唯一標識符類型。T-SQL查詢超時/性能問題
表-A(含一百萬條記錄)
UID Name
-----------------------------------------------------------
E8CDD244-B8E4-4807-B04D-FE6FDB71F995 DummyRecord
我也有一個叫做fn_Split('Guid_1,Guid_2,Guid_3,....,Guid_n')
函數,它接受逗號 分離式GUID的列表,並還給包含的GUID表變量。
從我的應用程序代碼,我傳遞一個SQL查詢來獲取新的GUID [鍵是與應用程序代碼,但不是在數據庫表]
var sb = new StringBuilder();
sb
.Append(" SELECT NewKey ")
.AppendFormat(" FROM fn_Split ('{0}') ", keyList)
.Append(" EXCEPT ")
.Append("SELECT UID from Table_A");
這個命令被執行超時上的第一次不少場合。我試圖找出在這裏避免這種超時和/或提高性能的更好方法。
謝謝。
那麼Table_A的實際結構是什麼?你知道,**的細節**。什麼聚集索引鍵,什麼非聚集索引,這種東西。 – 2010-12-08 00:45:54