建了索引没效果

lovesq2018 2019-05-10 02:10:27

为id建的索引, 表里有二百多万数据,建索引前后查询用时一模一样为什么呀,求大神告知


SELECT id
FROM saleorderproduct

WITH (INDEX(IX_saleOrderProduct))













SELECT id
FROM saleorderproduct

都一样,和建索引之前也一样
...全文
222 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzxmustwin 2019-05-14
  • 打赏
  • 举报
回复
索引不是说你建了就一定会走。如果你的查询条件里面都没有索引建的这一列,他不会走你的索引。
SQL有自己的执行计划逻辑,建议你把执行计划打开,对比看看各部分实际开销。
https://www.cnblogs.com/leohahah/p/7398160.html
lovesq2018 2019-05-10
  • 打赏
  • 举报
回复
那么问题来了 原来的索引针对的是不包括id的列 我查询的是id那一列 用了1分54秒 我针对id建了 个索引 就如您所说的强制使用了,和建索引之前用时一样 总共300W+数据 查完用了近2分钟
大鱼> 2019-05-10
  • 打赏
  • 举报
回复
强制使用索引与使用默认索引都是使用了索引,而且看你的索引只有IX_saleOrderProduct这个聚集索引,因此我理解他们两个都使用了这同一个索引,所以查询速度是一样的而不是你说的没有效果

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧