数据库查询索引条件问题

如梦如幻 2013-11-27 10:42:14
一直很疑惑的问题:
如表t_table,字段a, b, c ,d, e.
索引字段是a, b, c, d
我查询select * from t_table where a=1 and b=2 and c=3.
我where条件字段是索引所有字段的子集,这样查询效率会高吗?会有全条件都是索引字段高吗?
求高人解答。谢谢。
...全文
178 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
小麻雀NG 2014-11-17
  • 打赏
  • 举报
回复
当复合索引所有字段都出现在where条件中的时候,是所有条件一起比较的,不存在先比较哪一个字段过滤然后再比较第二个字段
善若止水 2013-11-28
  • 打赏
  • 举报
回复
你查询a=1时,走的是索引,别的就不是了,你可以看看执行计划。
fanfanyuzhui 2013-11-28
  • 打赏
  • 举报
回复
我怎么感觉这和全表扫描有什么区别?
  • 打赏
  • 举报
回复
我觉得这个还是要看本身表中的数据分布的, 只要是用上了索引,然后还有很多种情况的
如梦如幻 2013-11-27
  • 打赏
  • 举报
回复
引用 1 楼 gioh0022 的回复:
你说的索引是复合索引还是4个索引
复合索引
  • 打赏
  • 举报
回复
你说的索引是复合索引还是4个索引
CT_LXL 2013-11-27
  • 打赏
  • 举报
回复
当复合索引所有字段都出现在where条件中的时候,是所有条件一起比较的,不存在先比较哪一个字段过滤然后再比较第二个字段

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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