为了账号安全,请及时绑定邮箱和手机立即绑定

请教SQL优化

请教SQL优化

至尊宝的传说 2018-12-07 01:57:19
我执行了一个存储过程,返回5行时间在25ms,返回29数据的反应速度达到1秒了,如下,机器内存4G,使用3.3G,应该如何解决呢?   SQL Server 分析和编译时间:    CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。SQL Server 分析和编译时间:    CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 (29 行受影响) SQL Server 执行时间:   CPU 时间 = 1014 毫秒,占用时间 = 1008 毫秒。 SQL Server 执行时间:   CPU 时间 = 1014 毫秒,占用时间 = 1008 毫秒。SQL Server 分析和编译时间:    CPU 时间 = 0 毫秒,占用时间 = 0 毫秒
查看完整描述

5 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

ProductName,rank 有没有做索引?

查看完整回答
反对 回复 2019-01-07
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

存储过程呢????

查看完整回答
反对 回复 2019-01-07
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

想办法用a.rank <  b.rank 代替 a.rank < = b.rank,如:

(select SUM(counts) as zsum from ts a where a.rank < (b.rank+1)) as zsum

查看完整回答
反对 回复 2019-01-07
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

经测试,两者效果一样

查看完整回答
反对 回复 2019-01-07
?
绝地无双

TA贡献1946条经验 获得超4个赞

你可以考虑考虑 联查

用 inner join 

可能比单个表中要快,把过滤效果明显的条件 尽量往前放

查看完整回答
反对 回复 2019-01-07
  • 5 回答
  • 0 关注
  • 594 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信