您的位置:首页 > 数据库

sqlserver sql调优 索引 (查询时间超过1分钟)根据时间匹配时超过1分钟

2017-11-14 13:39 288 查看
在项目 中往往遇到 数据过几十万百万不到的 数据 查询时延时很大,这种情况往往是很严重的问题,客户不可能点进去一个网页等你几分钟是吧?



比如这条sql 在执行中往往遇到瓶颈,使用前面datapart 方法 使用两次 并没有第二个 between 要好 ,加索引后 我们发现



不难发现 时间少了 3倍,但是这世间也是挺长的了24秒 能在快点嘛???

好,我们增加一个state 条件的 索引 再查



我们发现时间又少了12倍, 2秒,算快了。可我认为并不快,猜一猜?

好了,也不卖关子了

其实想between 和 datepart 其实是有区别的,上面图片中 datepart执行了四次 相当于每次条件都执行了2次,而between 只需要执行一次,时间效率更高效。



像这样一秒钟,可以把?

对于sql优化 太慢必须要建立索引和代码优化。

希望能帮助到大家,另外建立索引 时间日期之类的必须要建立聚集,而像状态这些要设立非聚集,否则建立无效。。。

分析其执行计划,发现where条件中的日期过滤太慢,所以检查creame_event表eventtime是否有索引,发现真的没有索引,加上索引时间缩短到24s。索引分为聚集索引和非聚集索引,而一个表上只能有一个聚集所以,所以这个日期我建成了非聚集索引,对于日期来说应该建成聚集索引。

注意哦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: