MySQL Status Select_full_range_join 数据库状态作用意思及如何正确
本站中文解释
MySQL状态变量Select_full_range_join是一种有助于检测MySQL使用全范围连接(full range join)的技术指标,通常由服务器使用来检测两个表之间的连接,特别是在外连接时发挥作用,其值可以告诉服务器是否进行了满范围的查询,以及是否有更好的查询优化技术可用。
MySQL状态变量Select_full_range_join是一个计数变量,用于跟踪MySQL服务器处理满范围连接的次数。它指示服务器是否在开始合并之前,先将两个表中的行按特定顺序排列。例如,如果在连结时,有一个或多个索引能够用于快速顺序排列行,那么服务器将按该顺序排列行,以更有效的方式进行合并。
从MySQL 5.7.7开始,MySQL使用可索引列排序时,不会再向Select_full_range_join状态变量添加值了,而MySQL 5.6及以前的版本仍然会向该状态变量添加值。
我们可以通过使用 MySQL 的 SHOW GLOBAL STATUS 命令来查看当前的 Select_full_range_join 状态变量。 例如:
mysql> SHOW GLOBAL STATUS LIKE ‘Select_full_range_join’;
+————————–+——–+
| Variable_name | Value |
+————————–+——–+
| Select_full_range_join | 0 |
+————————–+——–+
我们可以通过更改MySQL服务器中的各种参数来改变Select_full_range_join状态变量,以提高MySQL服务器的性能。具体步骤如下:
1、通过 SHOW VARIABLES 命令查找所有MySQL变量,以便查找引起Select_full_range_join状态变量变化的变量;
2、通过 SHOW COUNT 命令查看当前Select_full_range_join状态变量的值;
3、通过 SET GLOBAL 命令来设置服务器中涉及到Select_full_range_join的变量;
4、重新执行 SHOW COUNT 命令,查看Select_full_range_join状态变量的值是否有变化;
通过上述方式能够很好的改变Select_full_range_join状态变量,以提高MySQL服务器的性能。