设为首页 加入收藏

TOP

oracle性能优化操作三:增加查询的范围限制
2015-07-24 11:35:58 来源: 作者: 【 】 浏览:4
Tags:oracle 性能 优化 操作 增加 查询 范围 限制

增加查询的范围限制,避免全范围的搜索。

例:以下查询表record 中时间ActionTime小于2001年3月1日的数据:

select * from record where ActionTime < to_date ('20010301' ,'yyyymm');

查询计划表明,上面的查询对表进行全表扫描,如果我们知道表中的最早的数据为2001年1月1日,那么,可以增加一个最小时间,

使查询在一个完整的范围之内。修改如下:

select * from record where ActionTime < to_date ('20010301' ,'yyyymm')

and   ActionTime > to_date ('20010101' ,'yyyymm');

后一种SQL语句将利用上ActionTime字段上的索引,从而提高查询效率。

把'20010301'换成一个变量,根据取值的机率,可以有一半以上的机会提高效率。

同理,对于大于某个值的查询,如果知道当前可能的最大值,也可以在Where子句中加上 “AND 列名< MAX(最大值)”。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇【Monogdb】MongoDB的日志系统 下一篇DYNAMICRESOLUTION|NODYNAMICRESO..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell 中各种括号的 (2025-12-24 19:50:39)
·Shell 变量 - 菜鸟教 (2025-12-24 19:50:37)
·Linux source 命令 - (2025-12-24 19:50:34)
·switch520最新的地址 (2025-12-24 19:19:41)
·微信聊天功能使用了 (2025-12-24 19:19:39)