MySQL Variables myisam_stats_method 数据库 参数变量解释及正确配置使用

本站中文解释

Myisam_stats_method用于指定MyISAM表的统计信息的收集方式,它影响 MyISAM 表的优化查询性能,该参数可以接受如下三个取值:

– 1:仅统计表中每个列的信息,该参数可以提高表复制,碎片压缩操作的速度,但会导致查询性能下降;

– 2:统计每个列的信息,并更新索引的统计信息,这是 MySQL 默认的参数,可以提升查询性能,但碎片压缩,表复制等操作会变慢。

– 0:不统计任何统计信息。这种情况下,MySQL 不会收集任何 MyISAM 的统计信息,会大大提高复制,碎片压缩等操作的速度,但会对查询性能有负面影响。

MySQL参数 Myisam_stats_method 的设置方法为:

全局范围:

在my.cnf中添加如下行:

myisam_stats_method=2

然后使用命令 reload 或者 restart 重启 MySQL 服务:

service mysql reload

或者

service mysql restart

会话范围:

使用如下命令:

SET GLOBAL myisam_stats_method = 2;

然后使用 FLUSH TABLES 命令,使 SQL 会话范围的设置生效:

FLUSH TABLES;

官方英文解释

myisam_stats_method

Command-Line Format --myisam-stats-method=name
System Variable myisam_stats_method
Scope Global, Session
Dynamic Yes
Type Enumeration
Default Value nulls_unequal
Valid Values

nulls_unequal

nulls_equal

nulls_ignored

How the server treats NULL values when
collecting statistics about the distribution of index values
for MyISAM tables. This variable has three
possible values, nulls_equal,
nulls_unequal, and
nulls_ignored. For
nulls_equal, all NULL
index values are considered equal and form a single value
group that has a size equal to the number of
NULL values. For
nulls_unequal, NULL
values are considered unequal, and each
NULL forms a distinct value group of size
1. For nulls_ignored,
NULL values are ignored.

The method that is used for generating table statistics
influences how the optimizer chooses indexes for query
execution, as described in Section 8.3.7, “InnoDB and MyISAM Index Statistics Collection”.


数据运维技术 » MySQL Variables myisam_stats_method 数据库 参数变量解释及正确配置使用