sql索引失效和优化
一、oracle索引失效情况
1、没有where子句
添加索引的字段必须在where条件后适当使用才会生效
2、where子句中使用函数
如果没有使用基于函数的索引,那么对有索引的列使用函数会使索引失效;
但是把函数放在应用条件上,索引是可以有效的
eg:select * from staff where trunc( birthdate ) = ‘01-MAY-82’; // birthdate上的索引失效
select * from staff where birthdate< to_date( ‘01-MAY-82’); // birthdate上的索引有效
3、使用is null 和 is not null 索引全部失效
4、使用 like ‘%T’ 进行模糊查询
select * from staff where name like ‘aaa%’ ; // name索引是有效的
select * from staff where name like ‘%aaa’ ; // name索引是无效
5、使用不等于 <>, !=, NOT colum >=?, NOT colum<=? 可以通过OR替代,
例如 Colum <> 0 可用 colum>0 OR colum<0
6、等于和范围索引不会被合并使用,只会使用第一个索引
7、比较不匹配的数据类型
比如一个字段是varchar2类型,查询时用的是 where a=10001,会被自动转换成 where to_number(a) = 10001
二、索引相关其他
- or语句如果有一个字段没有索引,就全部不走索引
- 建立索引一般分为在线索引和非在线索引
在线索引:create index index_My_test on userId
非在线索引: 锁表,优先创建索引,此时DML都会阻塞 create index X on student_info(student_id); explain select * from student_info
三、sql优化
sql语句使用大写
条件子句优先级:on,where,having
exists替代in,not exists替代not in
group by最好使用where子句筛选后分组
where子句执行顺序从右到左,过滤最多的条件放在最后
sql索引失效和优化相关推荐
- sql索引失效的几种情况
sql索引失效的几种情况 1.使用 != 或者 <> 导致索引失效 2.类型不一致导致索引失效 3.函数导致索引失效 4.运算符导致索引失效 5.模糊搜索导致索引失效 6.NOT IN.N ...
- 80-450-020-原理-索引-索引失效与优化
文章目录 1.概述 1.1 测试数据 1.2 索引失效的情况 1.2.1 全值匹配 1.2.2 最佳左前缀法则 1.2.3 不在索引上计算 1.2.4 右边列范围 1.2.5 * 号 1.2.6 范围 ...
- 【SQL Server】性能优化-索引
性能优化-索引 1 索引 1.1 什么是索引 1.2 索引的存储机制 1.3 创建索引原则 1.4 如何创建索引 1.4.1 创建索引 1.4.1 删除索引 1.4.1 显示索引 1.5 索引使用次数 ...
- {好文备份}SQL索引一步到位
SQL索引一步到位(此文章为"数据库性能优化二:数据库表优化"附属文章之一) SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍, ...
- sql 逐行更新_sql优化面试题
第一方面:30种mysql优化sql语句查询的方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by涉及的列上建立索引. 2.应尽量避免在 where 子句中使用 ...
- 转载:SQL索引一步到位
原文: http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html SQL索引一步到位(此文章为"数据库性能优化二:数据库表优 ...
- SQL优化避免索引失效
Oracle 索引的目标是避免全表扫描,提高查询效率,但有些时候却适得其反.例如一张表中有上百万条数据,对某个字段加了索引,但是查询时性能并没有什么提高,这可 能是 oracle 索引失效造成的.or ...
- 后端开发【一大波有用知识】MySQL索引原理(索引、约束、索引实现、索引失效、索引原则)以及SQL优化
一.索引 索引分类:主键索引.唯一索引.普通索引.组合索引.以及全文索引(elasticsearch) 主键索引 非空唯一索引,一个表只有一个主键索引:在 innodb 中,主键索引的 B+ 树包含表 ...
- 文件服务器索引失效,SQL优化 MySQL版 – 避免索引失效原则(一)
避免索引失效原则(一) 精力有限,剩余的失效原则将会在 <避免索引失效原则(二)>中连载出来,请谅解 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 避免索引失效的一些原 ...
最新文章
- webpack中loader加载器配置postCss自动添加CSS兼容前缀
- ubuntu 16.04 分辨率只有800×600问题解决
- js 数组 实现 完全树_算法和数据结构 | 树状数组(Binary Indexed Tree)
- 2019云栖大会精品资料免费下载
- C++BOOL,int,float,指针类型的变量a 与“零”比较语句
- 初中生问题:求任意凸多边形的交叉面积
- 区块链在数据流通中的应用
- 天线越大越好吗_无线路由知识误区!解读天线数量与信号强弱的关系
- apipost提示error:invalid protocol的解决方案
- 数据:以太坊2.0合约余额新增9856 ETH
- Windows设置共享文件夹,ubuntu访问
- 【故障诊断分析】基于matlab FFT轴承故障诊断【含Matlab源码 1397期】
- 浪潮服务器显示一个红色闪电图标,华为手机开不了机,只显示一个红色圆圈里面一个红色闪电符号...
- cmd命令行中文显示乱码
- 清北复交人浙南 计算机交叉学科项目大盘点!
- OpenWRT 迅雷远程下载设置
- el-table拆分单元格
- 使用XCA工具生成SSL证书
- css中white-space的值pre-wrap
- 一个即将走向社会的软件技术专业学生的感想
热门文章
- 2022年广东省房地产经纪人(房地产经纪职业导论)练习题及答案
- STM32软件复位方式
- Linux下使用Daemon实现服务器永久存活
- linux打包工具deb,deb打包方法
- 半导体中本征载流子的浓度推导
- github 私有化部署_用GitLab搭建自己的私有GitHub
- android wifi开源项目,开源项目之android-wifi-tether(网络共享软件)
- Android EventBus使用方法
- android framework源码目录介绍
- supersocket client 固定端口_西门子CPU控制器1512P-1PN端口交换机附件200KB