什么是索引:

  索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。

建立索引合适的列

  经常用作where条件的列,order by排序的列

  数据列不重复而且并不是唯一的几个值

  不被经常修改的列

普通查询

SELECT * FROM emp WHERE empno=100002

查询缓存

SHOW GLOBAL VARIABLES LIKE '%query_cache%'

表的引擎 innodb:第一次查询走数据文件,再次回走缓存

SHOW VARIABLES LIKE '%storage_engine%'

加入索引

ALTER TABLE emp ADD INDEX(empno)
SELECT * FROM emp WHERE empno=100002

InnoDB:frm为表结构文件 ibd为索引+数据 文件

是否使用了索引

EXPLAIN SELECT * FROM emp WHERE empno=100002

添加组合索引 (第一个索引列会使用索引,第二个索引列单独使用的时候不会使用索引)

ALTER TABLE dept ADD INDEX my_ind (dname,loc)
SELECT * FROM dept WHERE dname='AfZIrJvZNO'
EXPLAIN SELECT * FROM dept WHERE dname='AfZIrJvZNO'
EXPLAIN SELECT * FROM dept WHERE dname='AfZIrJvZNO' AND loc='IWHzzYwk'
EXPLAIN SELECT * FROM dept WHERE loc='IWHzzYwk' AND dname='AfZIrJvZNO'

模糊查询 如果like前加 % 不会使用索引

EXPLAIN SELECT * FROM dapt WHERE dname LIKE '%AfZIrJvZNO%'

使用or,or不会使用索引,

EXPLAIN SELECT * FROM dept WHERE loc='IWHzzYwk' OR dname='AfZIrJvZNO'

需保证列都有索引

EXPLAIN SELECT * FROM dept WHERE deptno='10070' OR dname='AfZIrJvZNO'

判断是否为null 应使用in
explain select * from dept where dname=null

EXPLAIN SELECT * FROM dept WHERE dname IN NULL

group by 默认不是用索引

EXPLAIN SELECT * FROM emp GROUP BY deptno
EXPLAIN SELECT * FROM emp GROUP BY deptno ORDER BY NULL

查询时尽量少用 >= <=等等

EXPLAIN SELECT * FROM dept WHERE deptno<'10070'

注意事项

  不要在列上进行运算

  不使用NOT IN操作

    NOT IN操作都不会使用索引将进行全表扫描。NOT IN可以NOT EXISTS代替

  

MySQL优化2.索引的更多相关文章

  1. mysql 优化之索引的使用

    mysql 优化之索引的使用 1:MySQL 索引简介: MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL ...

  2. mysql优化之索引篇

    对mysql优化是一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平 ...

  3. mysql优化之索引优化

    Posted by Money Talks on 2012/02/23 | 第一篇 序章第二篇 连接优化第三篇 索引优化第四篇 查询优化第五篇 到实战中去 索引优化 索引优化涉及到几个方面,包括了索引 ...

  4. Mysql优化之索引和字段

    Mysql优化是一个老生常谈的问题, 优化的方向也优化很多:从架构层;从设计层;从存储层;从SQL语句层; 今天讲解一下从索引和字段: 字段优化: ①  尽量使用TINYINT.SMALLINT.ME ...

  5. 第九课——MySQL优化之索引和执行计划

    一.创建索引需要关注什么? 1.关注基数列唯一键的数量: 比如性别,该列只有男女之分,所以性别列基数是2: 2.关注选择性列唯一键与行数的比值,这个比值范围在0~1之前,值越小越好: 其实,选择性列唯 ...

  6. mysql优化之索引建立的规则

    索引经常使用的数据结构为B+树.结构例如以下 如上图,是一颗b+树,关于b+树的定义能够參见B+树,这里仅仅说一些重点.浅蓝色的块我们称之为一个磁盘块,能够看到每一个磁盘块包括几个数据项(深蓝色所看到 ...

  7. MySQL优化四 索引优化

    索引为什么能提高数据访问性能? 很多人只知道索引能够提高数据库的性能,但并不是特别了解其原理,其实我们可以用一个生活中的示例来理解. 我们让一位不太懂计算机的朋友去图书馆确认一本叫做<MySQL ...

  8. Mysql优化之索引

    前言 这几天抽了个时间将<高性能Mysql>看了一下忽觉索引非常之重要,习之然后总结巩固知识.本文索引使用的是InnoDB存储引擎.因为本文并不是说用索引的好处,所以并不会书写QPS之类的 ...

  9. 【Mysql优化】索引优化策略

    1:索引类型 1.1 B-tree索引 注: 名叫btree索引,大的方面看,都用的平衡树,但具体的实现上, 各引擎稍有不同, 比如,严格的说,NDB引擎,使用的是T-tree   Myisam,in ...

  10. MySQL优化之索引原理(二)

    一,前言 ​ 上一篇内容说到了MySQL存储引擎的相关内容,及数据类型的选择优化.下面再来说说索引的内容,包括对B-Tree和B+Tree两者的区别. 1.1,什么是索引 ​ 索引是存储引擎用于快速找 ...

随机推荐

  1. Python的DataFrame遍历_转CSDN_J小白Y

    转CSDN_J小白Y:https://blog.csdn.net/Jarry_cm/article/details/99683788 1.DataFrame.iterrows() 返回{索引,Seri ...

  2. 问题 D: 家庭问题

    问题 D: 家庭问题 时间限制: 1 Sec  内存限制: 128 MB[命题人:admin] 题目描述 有n个人,编号为1,2,……n,另外还知道存在K个关系.一个关系的表达为二元组(α,β)形式, ...

  3. Commercial Lighting: LED Ceiling Light, LED Ceiling Light

    Unlike ceiling lamps, floor lamps, chandeliers, lamps that can sometimes rely on "faces", ...

  4. 使用Eclipse远程调试云服务器上的微信公众项目

    云服务器系统:centos 7.3 如何在Eclipse上调试我们在云服务器上的项目呢,下面介绍一下步骤:   1.因为root账号不支持远程调试,首先需要在linux上创建一个新的用户,然后用该用户 ...

  5. java is 和 == ,以及equal

    package string; public class MemAddrChange { public static void main(String[] args) { // const 常量区,

  6. centos7安装Nginx 配置及反向代理

    Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Ngin ...

  7. c语言thread用法记录。

    https://blog.csdn.net/hitwengqi/article/details/8015646 先是c++11之前的 1.最基础,进程同时创建5个线程,各自调用同一个函数 #inclu ...

  8. 使用pip安装速度慢问题的解决

    参考博客:https://blog.csdn.net/u011580175/article/details/82292424 解决方案所以,在使用pip时,可以指定使用国内的下载源这样下载速度会快很多 ...

  9. CSS学习(3)样式表

    如何插入样式表 插入样式表的方法有三种: 外部样式表(External style sheet) 内部样式表(Internal style sheet) 内联样式(Inline style) 外部样式 ...

  10. 2017年陕西省网络空间安全技术大赛——人民的名义-抓捕赵德汉2——Writeup

    下载下来的文件是一个jar包,用die和binwalk检查,确实是一个纯正的jar包 java -jar FileName运行jar包,观察文件的外部特征,发现也是判断password的题目 ​ 用查 ...