第16章 性能优化
16.1优化简介
Mysql优化,一方面找出系统的瓶颈,提mysql数据库整体的性能;另一方面需要合理的结构设计和参数调整,以提高用户操作响应的速度;同时还要节省系统资源,以便系统可以提供更大负荷的服务。
查询mysql的性能参数
show status like ‘value’;
16.2优化查询
16.2.1分析查询语句
Explain [EXTENDED] SELECT SELECT_OPTIONS
16.2.2索引对查询速度的影响
如果查询时没有使用索引,查询语句将扫描表中的所有记录,在数据库量较大的情况下,这样查询的速度会比较慢,如果使用索引进行查询,查询语句可以根据索引快速定位到待查询记录,从而减少查询的记录数,达到提高查询的目的。
User数据:
未创建索引时:
查询的记录数为11条
创建索引时:
扫描记录为1条
16.2.3使用索引查询
1.使用like关键字的查询语句
只有%不在第一个位置索引才会起作用。
2.使用多列索引的查询语句
一个索引可以包括多个字段,只有查询条件中使用了这些字段中第一个字段时,索引才会被使用。
3.使用or关键字的查询语句
or 前后的两个条件中的列都是索引时,在查询中才使用索引
16.2.4优化子查询
Mysql中,可以使用连接查询替代子查询,连接查询不需要建立临时表,其速度要比子查询快,如果查询中使用索引的话,性能会更好。连接之所以更有效率,是因为mysql中不需要在内存中创建临时表来完成查询工作;