Oracle索引查询优化问题

如下场景
表A记录有将近上亿条记录
col1,col2是其中两个字段,并且这两个字段建立了联合索引
where col1='a' and col2 = 'b' 符合条件的数据有一万条

但是
select * from A
where col1='a' and col2 = 'b'
要得到全部结果需要将近一分钟的时候

想问一下这个是什么原因导致的
怎么优化才好

阅读 1.7k
2 个回答

查询返回数据量占表中数据过大时会走全表扫描,*应该为具体返回字段,尽量使用覆盖索引。

你是一次把1w行数据全部返还吗,如果是全部查找的话,肯定会有点慢的,你可以一次返回1000条,遍历返回.总时间可能会久点,但是对数据库压力会比较小

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题