博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
索引法则--字符串不加单引号会导致索引失效
阅读量:6591 次
发布时间:2019-06-24

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

 

 

 

===============

 

1 准备数据

1.1 建表

DROP TABLE IF EXISTS staff;CREATE TABLE IF NOT EXISTS staff (    id INT PRIMARY KEY auto_increment,    name VARCHAR(50),    age INT,    pos VARCHAR(50) COMMENT '职位',    salary DECIMAL(10,2));

1.2 插入数据

INSERT INTO staff(name, age, pos, salary) VALUES('11223344', 22, 'HR', 5000);

注意:此处的 name = '11223344',这是一个数字,但,也是一个字符串,对吧~

2 测试&Explain分析

2.1 创建索引

CREATE INDEX idx_nameAgePos ON staff(name, age, pos);

2.2 测试

Case#1:有单引号

EXPLAIN SELECT * FROM staff WHERE name = '11223344';

结果:type=ref,索引正常使用。

Case#2:没有单引号

EXPLAIN SELECT * FROM staff WHERE name = 11223344;

结果:type=all,全表扫描,索引没有被使用。

对比上面两个Case,不难看出,对于索引上的字符串查询条件(例子中的 name),如果不加单引号,会导致索引失效进而转为全表扫描!

3 结论

字符串不加单引号会导致索引失效

 

转载于:https://www.cnblogs.com/cyhbyw/p/8845829.html

你可能感兴趣的文章
正确计算linux系统内存使用率
查看>>
关于MapReduce单词统计的例子:
查看>>
【php】利用php的构造函数与析构函数编写Mysql数据库查询类 (转)
查看>>
导出DLLRegisterServer接口遇到的问题
查看>>
压缩算法
查看>>
ios和android的发展前景比较
查看>>
[转载]SpringMVC的Model参数绑定方式
查看>>
Linux socket多进程服务器框架三
查看>>
Debug.print的用法
查看>>
常用名词
查看>>
第一百三十四节,JavaScript,封装库--遮罩锁屏
查看>>
【转】cookie如何共享到各个浏览器
查看>>
自制基于HMM的python中文分词器
查看>>
如何在Root的手机上开启ViewServer,使得HierachyViewer能够连接
查看>>
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-新增锁定用户与解除锁定用户的功能...
查看>>
vue1.0 的过滤器
查看>>
如何删除anaconda
查看>>
Mybatis3.3——源码阅读笔记
查看>>
oracle中的trunc函数操作
查看>>
EventCache表太大, 怎么办?
查看>>