美文网首页mysqlMySQL
mysql优化1——索引

mysql优化1——索引

作者: 漏诺 | 来源:发表于2017-09-07 10:12 被阅读17次

 1.SQL慢原因

      1.1 查询语句写的太烂了

      1.2 索引失效(单值索引,复合索引)

     1.3 关联查询太多了(join)

     1.4 服务器调优

2.索引

      mysql索引:索引是帮助mysql高效获取数据的数据结构

      可以的到索引的本质:数据结构

      你可以简单理解为  排好序的快速查找数据结构

索引一般来说本身也很大,不可能全部存在内存中,因此索引往往以文件的形式存储在磁盘上。

我们平时所说的索引,如果没有特别指明,都是指B树的索引。

2.1 优势:

提高数据检索的效率

降低数据排序的成本

2.2 劣势:

索引也要占空间的

提高查询效率,降低更新表的速度(增,删,改)

2.3 索引分类(一张表最多建立5个索引)

单值索引:一个索引只包含单个列,一个表可以有多个单列索引

唯一索引:索引列的值必须唯一,但允许有空值

复合索引:一个索引包含多个列

2.4 索引的基本语法

2.5 哪些情况下需要建立索引

1.主键自动建立唯一索引

2.频繁作为查询条件的字段应该创建索引(电信系统的手机号 )

3.查询中与其他表关联的字段,外键关系建立索引

4.频繁更新的字段不适合创建索引(更新数据的时候,索引也会更新)

5.where条件里用到的字段不创建索引

6.单键/组合索引的选择文件,who?(在高并发下倾向创建组合索引)

7.查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度(order by 排序字段最好和索引字段一致,就是键了name,age,email索引,    order by 的时候也要按照这个顺序最好)

8.查询中统计或者分组字段

2.6 那些情况下不需要建立索引

1.表记录太少

2.经常增删改的表

3.数据重复且平均的字段(性别sex)

2.7 explain

是什么?

使用explain关键字可以模拟优化SQL查询语句,从而知道mysql是如何处理你的SQL语句,分析你的查询语句的瓶颈或者表结构的性能瓶颈。相当于体检报告。

干什么?

表的读取顺序

数据读取操作的操作类型

哪些索引可以使用

那些索引实际被使用

表之间的引用

每张表有多少行被优化器查询

相关文章

  • MySQL索引知多少

    mysql索引 总结关于mysql的索引,查询优化,SQL技巧等 1 索引类型 B-Tree索引 Hash索引 ...

  • MySQL相关文章索引(2)

    1.MySQL性能优化 对MySQL语句的性能分析与优化 Mysql 监控 Innodb 阻塞状况 MySQL索引...

  • 第三个模块 MySQL-UUID、分词字典、MySQL全文索引

    论mysql5.7.13性能优化之索引优化mysql优化(1)show命令 慢查询日志 explain profi...

  • MySQL索引原理及慢查询优化--整理

    摘自:MySQL索引原理及慢查询优化MySQL EXPLAIN详解 1 索引是什么 索引是一种单独的、物理的对数据...

  • Innodb 索引

    explain1explain2MySQL索引原理及慢查询优化项目中常用的19条MySQL优化mysql 中 my...

  • mysql数据库优化

    索引优化:见mysql索引及数据库引擎mysql查询执行的过程:1、mysql客户端/服务端通信 -> 2、查...

  • 9月17-MySQL性能优化

    MySQL性能优化策略 1、MySQL内核架构 2、索引原理与查询优化 加速MySQL高效查询数据的数据结构 二分...

  • mysql 查询优化

    参考文章:mysql 如何优化left joinmysql 创建索引和删除索引mysql 查看索引 查看字符编码

  • sql优化的几种方法

    Mysql的优化,大体可以分为三部分:索引的优化,sql语句的优化,表的优化 1.索引的优化 只要列中含有NULL...

  • MySQL(4)应用优化

    MySQL应用优化 4.1-MySQL索引优化与设计 索引的作用 快速定位要查找的数据 数据库索引查找 全表扫描 ...

网友评论

    本文标题:mysql优化1——索引

    本文链接:https://www.haomeiwen.com/subject/uknbjxtx.html