SQL 索引的大“功效”

昨天一个页面死掉了,查了下是因为存储过程执行时间大于Web Service 设置的sql语句执行最大时间。在数据库中执行了下存储过程,没想到要20多秒,看到真实大大吃惊,数据量也会只有几万条而已。于是开始优化语句。后来觉得整个存储过程逻辑有问题。今天又特意测了下时间的消耗,发下有个表关联耗时特长。

表关联代码如下:

from [Winning.ERP.HR].dbo.HR_BX_JBXX a,[Winning.ERP.HR].dbo.HR_BX_RCFY b,[Winning.ERP.PreSalesManage].dbo.XSSY_GXJL c
         where a.djxh=b.djxh and a.djxh=c.xmxh and b.sflsjl='N' and exists(select xh from [Winning.ERP.HR].dbo.HR_SPLC where lcbm=a.bxlcbm and gsbm=@sMark) 
View Code

问题出在exists后面的代码。发现 [Winning.ERP.HR].dbo.HR_SPLC 的数据量不超过100。实在不知道慢在哪里。

后来就在[Winning.ERP.HR].dbo.HR_SPLC的字段lcbm上添加了非聚集索引,没想到性能立马提高上去了。整个存储过程的执行时间大约6秒。

不知道是以前写的语句有问题,还是索引有这么大的提高速度功能?

路漫漫兮,努力,努力!!

转载于:https://www.cnblogs.com/YueWang/p/3285187.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值