ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 用合适的函数索引来避免看似无法避免的全表扫描

用合适的函数索引来避免看似无法避免的全表扫描

原创 Linux操作系统 作者:hzwsyvia 时间:2012-11-19 20:14:39 0 删除 编辑
记某高手的优化方法:用合适的函数索引来避免看似无法避免的全表扫描
 
原SQL:
•drop index idx_t1;
•create index idx_t1 on t1(object_name);
•select object_name,object_id from t1 where object_name like '%EMP';
 
 
调整后的SQL:
•select object_name,object_id from t1 where reverse(object_name) like reverse('%EMP');
•create index idx_fun_t1 on t1(reverse(object_name));
 
调整后的SQL大大降低了逻辑读,优化了性能。
 
附:
reverse函数说明:oracle 提供一个reverse函数,可以实现将一个对象反向转换,针对数据库内部存储的对象编码进行反转。在比如:数字,中文等.因为实现存储的并不是直接编码后的结果,而是经过某种内部转换后实现的,因此,在转换完成后,并不一定是自己想要的结果。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22308399/viewspace-749505/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-08-09

  • 博文量
    55
  • 访问量
    111291