猿问

sqlserver 中Exist查询慢的问题。

select * from Product_Property_Reserve_Info_V 
where
  exists(
    select 1 from ProductShopInfo
       where shopId =76
     and Product_Property_Reserve_Info_V.propertykey=ProductShopInfo.propertykey)

以上的语句,ShopId= 76的时候可以查询到112条数据。速度很慢,大概7秒左右。

ShopId=78的时候,查询到3200条数据,基本瞬间就能查询到结果。

Product_Property_Reserve_Info_V 数据量为 25000左右。

ProductShopInfo:数据量为3500左右。

大家有没有知道为什么会出现这个问题呢。以前就发现过有这个毛病,但是一直没找到解决办法。有了解的帮忙看看。

湖上湖
浏览 898回答 2
2回答

qq_遁去的一_1

Exists和In都慢,尝试将Propertykey和ShopId都加上索引以后,速度没问题了。 一直不太明白数据库的索引到底是如何加速查询的呢?
随时随地看视频慕课网APP

相关分类

SQL Server
我要回答