【Mysql】mysql常见优化及索引

来源:互联网 发布:中国最伟大的人 知乎 编辑:程序博客网 时间:2024/04/28 02:29


mysql优化常用方法:

1.     创建的表要满足3NF(3范式), 即要满足3个规范,最高级6NF.

2.     创建适当索引[主键索引|唯一索引|普通索引|全文索引fulltext|空间索引]

3.     优化程序中sql语句(定位慢查询explain)

4.     创建适当的存储过程,函数,视图,触发器

5.     读写分离

6.     分表技术[水平分表,垂直分表, 逻辑]和分区技术[把海量数据分配到不同磁盘分区]

7.     my.ini 配置优化

8.     硬件升级



1.索引的原理:


2. 索引的代价是

占用跟多的磁盘空间

对dml(update ,insert ,delete )速度有影响



3. 创建索引的注意事项


4.索引使用技巧

(1)对于创建的多列(复合)索引,只要查询条件使用了最左边的列,索引一般就会被使用

(2)对于使用like的查询,查询如果是  ‘%aaa’ 不会使用到索引;‘aaa%’ 会使用到索引

(3)如果条件中有or,则要求or的所有字段都必须有索引,否则不能用的索引

(4)如果列类型是字符串,那一定要在条件中将数据使用引号引用起来。否则不使用索引

(5)如果mysql估计使用全表扫描要比使用索引快,则不使用索引

(6)优化group by 语句

默认情况,MySQL对所有的group by col1,col2进行排序。这与在查询中指定orderby col1, col2类似。如果查询中包括group by但用户想要避免排序结果的消耗,则可以使用order by null禁止排序

 (7)尽量不要使用子查询来处理,可以考虑使用join 来处理



5.查看索引使用情况



学习转自传智视频

0 0
原创粉丝点击