今天我遇到了一个简单删除查询的性能问题。 我有两张桌子
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条记录)。我们可以在此列上创建非聚集索引。请分享您的意见。