我原本的sql是select distinct a from log;
我开始单独对a字段做一个索引,发现时间还是30多秒。后面我建了个字段a+字段time的联合索引,然后sql改成select distinct a from log where time>to_date('2012-01-01','年-MM-DD') and time <to_date('2024-01-01','年-MM-DD') ;
居然能把时间降到了4秒,这是为啥呢?按照我的理解,做了a+time的联合索引,按照最左匹配原则,其实也是要全表扫描呀?为啥就可以快很多了?
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
oracle中有个表由a字段,time字段等组成,数据量有两千万,我做字段a的去重查询要30多秒
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- CSDN专家-sinJack 2024-01-11 12:55关注
因为字段a包含在查询字段中,所以组合索引是有效的。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 excel中的填充效果 对应poi的哪个对象啊
- ¥20 急需求一个 手机抓包app支付链接脚本
- ¥15 byte[]转String后值为[object Object]
- ¥20 STM32 AD7734
- ¥15 mmrotate官方的test工具死循环
- ¥15 isolar-AB软件安装后打开出错
- ¥15 如何让usb软件在电脑拔插无记录
- ¥15 ecology9的待办推送外部系统
- ¥15 Mplus跑出来的数据只有原数据的一半
- ¥15 vue项目添加全局处理解决一些开发问题