MySQL Status Sort_rows 数据库状态作用意思及如何正确

本站中文解释

:从MySQL 5.7版本开始,MySQL引入了一个叫做Sort_rows的状态变量,它用于表示一次SELECT语句中返回的过程影响执行性能的行数。

Sort_rows变量可以帮助优化DBA或程序员调查在某个时间段内指定的SELECT语句中,运行慢原因的最有可能的问题(例如返回的行数)。

设置Sort_rows状态变量
设置Sort_rows状态变量非常简单,只需要在MySQL客户端下输入一行简单的命令:

set global sort_rows = 32767;
这条语句的意思是设置Sort_rows的值为32767,表示SELECT语句一次返回的最大行数为32767条,超过这个值就会报错。

示例
下面这个例子展示了如何使用Sort_rows状态变量来优化SELECT性能:

SELECT emp_name
FROM employees
LIMIT 10;
在运行上面的语句时,MySQL会自动计算出SELECT要返回的行数(一次返回10行),这也是语句的默认行数。

我们可以设置Sort_rows状态变量的值,以提高查询性能:

SET GLOBAL sort_rows = 10000;
SELECT emp_name
FROM employees
LIMIT 10;
现在,MySQL会返回10000行,但最终返回给用户的仍然是最初定义时的10行。此外,这样做会提高SELECT性能,因为从10行变成10000行,MySQL在处理查询语句时会更有效率,从而加快查询速度。


数据运维技术 » MySQL Status Sort_rows 数据库状态作用意思及如何正确