我在MariaDB10.6上运行了一个WordPress网站,最近我在Mysqltuner中看到一个没有索引的错误连接。
虽然数量不是很大,但Mysqltuner建议您继续增加Key_buffer_size。
然而,我的VPS没有太多的空闲内存,所以我用另一个问题来解决这个错误。
由于我有大约几十个插件活动,我想检查哪个令人敬畏的插件是造成问题。
因此,首先,我启用了错误日志如下所示。
log-queries-not-using-indexes = 1
log_error = /var/log/mysql/mysql-error.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 3经过一段时间后,我运行pt-查询摘要来分析错误日志。
pt-query-digest /var/log/mysql/mysql-slow.log但我想不出其他的问题。
在缓慢日志中的许多查询中,如何确定哪个查询试图在没有索引的情况下与列连接?
我不知道数据库,所以我不能仅仅通过查看查询就找出它。
发布于 2022-05-07 01:39:21
若要查找仅执行没有索引的联接,
从MySQL命令提示符中确定当前值,以便在缓慢查询日志中只记录JPWI 1小时后恢复正常
SELECT @@long_query_time;
SELECT @@min_examined_row_limit;
write down the above values
SET GLOBAL long_query_time=3600; for a ONE MINUTE slow log trigger
SET GLOBAL min_examined_row_limit=1; if the query reads one row, consider logging
SET GLOBAL log_queries_not_using_indexes=1; to get the log you are needing一小时后,
SET GLOBAL long_query_time=discovered above;
SET GLOBAL min_examined_row_limit=discovered above;
SET GLOBAL log_queries_not_using_indexes=0; # to turn OFF feature
FLUSH LOGS;检查您的最后一个小时的慢速查询日志涉及到的查询没有索引。
查看联系人信息的个人资料,联系,如果你需要更多的建议,请。
大多数人不会在没有索引的情况下记录缓慢的查询和查询,以避免分离意大利面。得到一个或另一个,只为了保持某种形式的理智。
(固定格式,编辑需要6个字符)
发布于 2022-04-28 18:00:15
你有MyISAM表吗?如果没有(您的表应该是InnoDB),则将key_buffer_size降低到30米。
“没有索引的连接”并不一定是一个问题。如果您有缓慢的查询,这更重要。见SlowLog。也就是说,努力改进最慢的部分,不管它们是否是“没有索引的联接”。使用pt-query-digest或mysqldumpslow -s t
要获得WordPress性能,请添加以下插件:WP指数改进
https://serverfault.com/questions/1099477
复制相似问题