测试mysql查询中参数整形和字符串类型错误索引使用情况
2015-08-04 00:00
1006 查看
准备数据:
测试1:
结果:
数字索引,带上引号仍然能够使用索引。
测试2:
结果:
字符串索引,不带引号,索引失效。
测试3:
结果:
数字索引中,复合类型查询索引失效。
测试4:
结果:
字符串索引中,复合类型查询索引失效。
CREATE TABLE `test_idx` ( `i` int(10) NOT NULL, `s` varchar(10) NOT NULL, KEY `i` (`i`), KEY `s` (`s`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into test_idx(i, s) values (1,'1'),(2,'2'),(3,'3'),(4,'4'),(5,'5'),(6,'6'),(7,'7'),(8,'8'),(9,'9');
测试1:
explain select * from test_idx where i = 1; explain select * from test_idx where i = '1';
结果:
数字索引,带上引号仍然能够使用索引。
测试2:
explain select * from test_idx where s = 1; explain select * from test_idx where s = '1';
结果:
字符串索引,不带引号,索引失效。
测试3:
explain select * from test_idx where i in(1,2); explain select * from test_idx where i in(1,'2');
结果:
数字索引中,复合类型查询索引失效。
测试4:
explain select * from test_idx where s in('1','2'); explain select * from test_idx where s in(1,'2');
结果:
字符串索引中,复合类型查询索引失效。
相关文章推荐
- MySQL开发规范之我见
- mysql之日志和mysqlbinlog工具的使用
- MySQL学习笔记_如何选择合适的存储引擎
- Mysql 多实例配置与启停
- MySQL查询子句(group by,limit,union,order by等)
- MySQL5.6主从复制(读写分离)
- MySQL性能优化
- MySQL中的datetime与timestamp比较
- 解决MySQL数据HTML展示没有换行
- 小知识点(十)——如何在局域网内连接mysql
- 修改root 密码
- 查看mysqll账号信息
- MySQL常用操作汇编
- SQL Server中的联合主键、聚集索引、非聚集索引、mysql 联合索引
- MySQL--SELECT
- MySQL列属性约束及存储引擎
- 长时间后mysql自动关闭连接
- Hibernate ORM(1):创建一个Maven & Hibernate & MySQL应用
- 如何实现 MySQL 查询结合多个的 count () 和 GROUP BY
- mysql常用命令