当我将以下查询发送到我们的数据库时,它返回< 2秒:
select
company3_.Un_ID as col_0_0_
from
MNT_Equipments equip
inner join
DynamicProperties dprops
on equip.propertiesId=dprops.id
inner join
DynamicPropertiesValue dvalues
on dprops.id=dvalues.dynamicPropertiesId
inner join
Companies company3_
on dvalues.companyId=COMPANY.Un_ID
where
equip.discriminator='9000'
and equip.active=1
and dvalues.propertyName='Eigentuemer'
但是当我在select子句中添加一个distinct时,返回剩余的40个条目需要将近4.5分钟。这似乎有些不成比例 - 我可以做些什么来改善这一点,解决它或者至少找出这里到底发生了什么?
执行计划
没有区别
有明显的
非常感谢您的帮助!
答案 0 :(得分:2)
聚簇索引扫描表明查询表上没有好的索引。 如果创建以下索引,则执行时间应该会改善。
CREATE NONCLUSTERED INDEX [IX_MNT_Equipments_Active] ON [MNT_Equipments]
(
[propertiesId] ASC,
[discriminator] ASC,
[active] ASC
)
GO
CREATE NONCLUSTERED INDEX [IX_DynamicPropertiesValue_Name] ON [DynamicPropertiesValue]
(
[propertyName] ASC
)
GO