当前位置: 首页 > news >正文

SQL优化常用方法44

  1. 避免改变索引列的类型.
    当比较不同数据类型的数据时, ORACLE自动对列进行简单的类型转换.假设 EMPNO是一个数值类型的索引列.

SELECT … FROM EMP WHERE EMPNO = ‘123'
实际上,经过ORACLE类型转换, 语句转化为: SELECT … FROM EMP WHERE EMPNO = TO_NUMBER(‘123')
幸运的是,类型转换没有发生在索引列上,索引的用途没有被改变. 现在,假设EMP_TYPE是一个字符类型的索引列.
SELECT … FROM EMP WHERE EMP_TYPE = 123
这个语句被ORACLE转换为: SELECT … FROM EMP WHERE TO_NUMBER(EMP_TYPE)=123
因为内部发生的类型转换, 这个索引将不会被用到!
为了避免ORACLE对你的SQL进行隐式的类型转换, 最好把类型转换用显式表现出来. 注意当字符和数值比较时, ORACLE会优先转换数值类型到字符类型.

相关文章:

  • NoSQL
  • session再次理解
  • 陈杰:无服务器架构,让云端开发更纯粹
  • Redis的发布订阅及.NET客户端实现
  • 动态载入数据的无刷新TreeView控件(8)
  • ubuntu-基本命令篇-13-用户管理
  • 四大中三家已面向客户推出机器人业务解决方案?别逗了,先用机器人自我革命吧! post by 上海嘉冰信息技术...
  • python基础实践(二)
  • [Spring Cloud Task]3 框架配置详解
  • node.js
  • 本周末预计更新博客内容
  • 微信开发https服务搭建
  • wii 入门之路--fatt
  • 冒泡排序的多种写法、逻辑
  • 获取 Android 版本
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【前端学习】-粗谈选择器
  • DataBase in Android
  • JAVA_NIO系列——Channel和Buffer详解
  • Java的Interrupt与线程中断
  • Js基础知识(四) - js运行原理与机制
  • Laravel5.4 Queues队列学习
  • Node项目之评分系统(二)- 数据库设计
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • 多线程事务回滚
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • nb
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • !!Dom4j 学习笔记
  • # Panda3d 碰撞检测系统介绍
  • (007)XHTML文档之标题——h1~h6
  • (4)logging(日志模块)
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (二)c52学习之旅-简单了解单片机
  • (二)linux使用docker容器运行mysql
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (转)C#调用WebService 基础
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)大道至简,职场上做人做事做管理
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (转载)利用webkit抓取动态网页和链接
  • ***通过什么方式***网吧
  • ..回顾17,展望18
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .htaccess 强制https 单独排除某个目录
  • .net 设置默认首页
  • .NET 使用 XPath 来读写 XML 文件
  • .NET中winform传递参数至Url并获得返回值或文件
  • .Net中的设计模式——Factory Method模式
  • ::
  • @ConfigurationProperties注解对数据的自动封装