MySQL Variables log_throttle_queries_not_using_indexes 数据库 参数变量解释及正确配置使用
本站中文解释
log_throttle_queries_not_using_indexes是MySQL的系统变量,用于记录在一定的时间内,执行没有使用索引的查询的次数,值越高说明索引的使用有问题,如此可以更加合理的优化查询性能。该变量可以设置在每个会话中,也可以设置在全局中(如果要在全局中设置,句柄前加上GLOBAL 就可以了),当设置比较小的值时,速度会有一定的提升,但是有可以注意的是,比较小的值可能会妨碍查询的完整性,可以通过 show variables like ‘log%’来查看该变量的参数:
修改log_throttle_queries_not_using_indexes的设置:
SET GLOBAL log_throttle_queries_not_using_indexes = 1000;
当每个会话执行1000次没有使用索引的查询后,将会暂停这些会话,暂时无法使用,重新连接会话后,就可以重新正常使用。此外,也可以可以在安全属性中设置log_throttle_queries_not_using_indexes,此时它的值将影响整个服务器,可以为安全设置更强的限制。
官方英文解释
log_throttle_queries_not_using_indexes
Command-Line Format | --log-throttle-queries-not-using-indexes=# |
---|---|
System Variable | log_throttle_queries_not_using_indexes |
Scope | Global |
Dynamic | Yes |
Type | Integer |
Default Value | 0 |
Minimum Value | 0 |
Maximum Value | 4294967295 |
If
log_queries_not_using_indexes
is enabled, the
log_throttle_queries_not_using_indexes
variable limits the number of such queries per minute that can
be written to the slow query log. A value of 0 (the default)
means “no limit”. For more information, see
Section 5.4.5, “The Slow Query Log”.