MySQL(14):性能优化

优化查询

分析查询语句

EXPLAIN [EXTENDED] SELECT select_options

使用EXTENED关键字,EXPLAIN语句将产生附加信息。

DESCRIBE SELECT select_options 

索引对查询速度的影响

  • 若果使用索引进行查询,查询语句可以根据索引快速定位到待查询记录,从而减少查询的记录数,达到提高查询速度的目的。

  • 在使用LIKE关键字进行查询的查询语句中,如果匹配字符串的第一个字符为“%”,索引不会起作用。

  • 对于多列索引,只有查询使用了这些字段的第一个字段时,索引才会被使用。

  • 查询语句的查询条件中只有OR关键字,且OR前后的两个条件中的列都是索引时,查询中才使用索引。否则,查询将不使用索引。

优化子查询

执行子查询时,MySQL需要为内层查询语句的查询结果建立一个临时表。因此,子查询的速度会受到一定的影响。在MySQL中,可以使用连接(JOIN)查询代替子查询。

优化数据库结构

将字段很多的表分解成多个表

增加中间表

增加冗余字段

优化插入记录的速度

禁用索引:

ALTER TABLE table_name DISABLE KEYS; 

恢复索引:

ALTER TABLE table_name ENABLE KEYS; 

禁用/启动唯一性检查:

SET UNIQUE_CHECKS=0|1

使用批量插入

分析表、检查表和优化表

分析表

ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name[,tbl_name]... 

检查表 

CHECK TABLE tbl_name[,tbl_name]...[option]...

option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}

猜你喜欢

转载自blog.csdn.net/a617976080/article/details/85926742