无法使用索引的select语句
来源:互联网 发布:淘宝解id锁有人解过吗 编辑:程序博客网 时间:2024/05/16 00:35
转载地址:http://blog.csdn.net/civilman/article/details/6557459
---无法使用索引的select语句
1.对索引列使用了函数,如:select * from tb where max(id)=100
2.对索引列使用了'%xx',如:
select * from tb where id like '%1'
需要注意的不是所有使用like关键字的select 语句都无法使用索引,比如
select * from tb where id like '1%'就可以使用索引
3.在where子句中对列进行类型转换(其实也是使用到了函数)
比如错误的将where中的数字字符串写成了数字(没有加引号),即进行了类型转化
4.在组合索引的第1列不是使用最多的列,如在下面3个查询语句中建立组合索引,按顺序包含col2,col1,id列;
select * from tb where id='1' and col1='aa'
select id,sum(col1) from tb group by id
select * from tb where id='2' and col2='bb'
则第一句和第二句无法使用到索引 所以需要注意组合索引的顺序
5.在where 子句中使用in关键字的某些句子
当在in关键字后面使用嵌套的select语句,将无法使用在该列上定义的索引
如:
select
*
from
ta
where
id
in
(select id from tb where ....)
--这样可以用到索引
select * from tb where id in('1','2')
- 无法使用索引的select语句
- 无法使用索引的select语句
- 无法使用索引的select语句(转)
- select 语句的使用
- Select 语句的基本使用
- 查询--SELECT语句的使用
- 针对选择语句select case的使用!
- SELECT 语句中Having子句的使用
- 执行使用俩个表的select语句
- 数据库索引设计与优化读书笔记--《四》为SELECT语句创建理想的索引
- 使用select into 语句
- SELECT语句使用大全
- 使用mysqli时,insert 语句与 select语句的区别
- mysql索引的使用及语句优化
- SQL语句优化与索引的使用
- Oracle 索引无法使用的情况
- MYSQL 用 explain 语句判断select查询是否使用了索引
- 使用SQL中SELECT语句的使用条件逻辑
- U-Boot启动过程完全分析
- GDI+ Graphics类
- HBase Bug 知多少
- Android2.3触摸屏功能详解
- C++ stander library--type traits and type utility
- 无法使用索引的select语句
- HBase 线上问题分析小记
- Delphi 进程间通信(2)
- 常对象只能由常指针访问
- HBase二级索引与Join
- Cassandra和HBase主要设计思路对比
- 碎点二(管中窥豹)
- 用户重合度
- hive中UDF、UDAF和UDTF使用