博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL优化常用方法44
阅读量:5925 次
发布时间:2019-06-19

本文共 442 字,大约阅读时间需要 1 分钟。

  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会优先转换数值类型到字符类型.

转载地址:http://svovx.baihongyu.com/

你可能感兴趣的文章
Spring Cloud Gateway 原生支持接口限流该怎么玩
查看>>
数据结构笔记--栈的总结及java数组实现简单栈结构
查看>>
用python来更改小伙伴的windows开机密码,不给10块不给开机
查看>>
2016 China Joy抢先看,文末有彩蛋!
查看>>
阿里云如何实现海量短视频的极速分发?答案在这里!
查看>>
Ubuntu系统备份工具大全(官方整理推荐)
查看>>
海尔联手软银机器人,进军服务机器人领域
查看>>
基于scikit-learn机器学习库的分类预测
查看>>
Ubuntu 16.04安装Chrome浏览器
查看>>
bugly中批量隐藏版本
查看>>
如何管理跨部门的沟通与协作?
查看>>
亿方云CEO程远:转型第一式:链接企业人与数据
查看>>
基于Redis的MQ中间件实现-目录
查看>>
手写数字识别
查看>>
SpringBoot整合RabbitMQ
查看>>
「深度」无人机实名制政策特稿|市场看好、资本关注,“反黑飞”正在崛起
查看>>
2018年SIAF 广州国际工业自动化技术及装备展览会下周隆重开幕
查看>>
协鑫集成“熄灯工厂”装上ET工业大脑,验证订单命中率可提高3.99%
查看>>
旧金山参议员提议发布“封杀令”,理由是马路不为机器人所服务
查看>>
xtrabackup对MySQL数据库的备份及恢复教程
查看>>