Simple SQL删除查询的性能问题

时间:2017-06-14 07:29:33

标签: sql sql-server sql-server-2005 sql-server-2008-r2

今天我遇到了一个简单删除查询的性能问题。 我有两张桌子

 Table  Name : Attribute
 Column List : AttributeId Char(15), Desc Varchar(50)

此属性表仅包含15行。

另一个交易表

Table Name : member
Column List : memid Int,  AttributeId Char(15), another set of 100 columns.

此事务表AttributeId列具有带属性表的外键关系,该表包含超过10000000条记录,并且在AttributeId列上没有任何索引。 当我们尝试从属性表中删除记录时,删除查询大约需要3分钟才能完成执行。 如果我们在成员表中禁用外键约束,则在10毫秒内执行相同的删除查询。

因此,为了提高删除查询性能,我们决定在member.AttributeId列上创建非聚集索引。

我们的问题是,这个member.AttributeId列有更多的空值(大约7500000条记录)。我们可以在此列上创建非聚集索引。请分享您的意见。

0 个答案:

没有答案