我有一个包含大约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