ANALYZE TABLE 语句如何帮助维护 MySQL 表?
MySQL 查询优化器是 MySQL 服务器的一个重要组成部分,它为查询创建最佳的执行计划。对于特定查询,查询优化器使用存储的键分布和其他因素来决定执行连接时表的连接顺序,以及为特定表使用哪个索引。
但是,键分布有时可能不准确,例如,在对表进行大量数据更改(包括插入、删除或更新)之后。如果键分布不正确,查询优化器可能会选择糟糕的查询执行计划,从而导致严重的性能问题。
ANALYZE TABLE 语句可以解决上述问题。我们需要运行 ANALYZE TABLE 语句如下:
ANALYZE TABLE table_name
这里,table_name 是表名。
示例
我们对 Student_info 表运行此语句如下:
mysql> Analyze table student_info\G; *************************** 1. row *************************** Table: query.student_info Op: analyze Msg_type: status Msg_text: OK 1 row in set (0.22 sec)
广告