我需要优化以下查询(表group_attributes
)获得列group_id
,attribute_id
和int_value
。
select group_id
from group_attributes
where attribute_id= 1049
and int_value in (1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255,
1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264,
1265, 1266, 1267, 1268, 1269, 1270, 1271)
group_attributes
是一个巨大的表,查询需要永远。
我不是SQL的专家,所以我想知道哪个查询会更快?似乎一般来说这些IN
查询都很慢。
最佳,Askar
答案 0 :(得分:1)
解决方案 - 我
我认为您可以通过创建以下索引来提高性能。
解决方案 - II
您还可以将所有int_values插入临时表,然后在临时表上创建non_clustered索引。还要在主表的int_value上创建非聚集索引。
答案 1 :(得分:0)
首先,将所有必需的int_values
存储到Temp表中并创建聚簇索引。其次,Inner将此临时表与group_attributes
表连接。
这将有希望提供更好的表现。另请更新效果结果。