ITPub博客

首页 > 数据库 > 数据库开发技术 > 这作者开始水文章了?介绍MySQL里一个不该用的参数

这作者开始水文章了?介绍MySQL里一个不该用的参数

原创 数据库开发技术 作者:丁奇3306 时间:2024-09-11 09:37:21 0 删除 编辑

编者: 理解不该用的原因,可能是这个参数最大的意义了~

今天说下这个参数:min_examined_row_limit=N
参数的意思是,如果扫描行数少于N,则不记入慢查询日志,默认值是0。

我看到有文章建议说配置成1或者其他小整数。实际上恰恰相反,一个语句如果是慢查询,而它的扫描行数很小,反而应该被特别关注到。因为这很可能表示,系统现在处于不健康的状态。

常见的原因比如:

1. CPU压力大,系统不健康;

2. 是一个rows_examined=0 的 count(*)语句,可能需要优化;

3. 存在MDL锁,并发线程里有隐患;

4. 存在等待flush table的操作,危险信号

这些都是需要在慢查询中记录,并引起DBA注意的。

所以结论是,这个参数让它留着默认值,不要用就行了。
(到这里50%的同学表示,作者你不说,我也不知道这个参数呀)
编者: 理解不该用的原因,可能是这个参数最大的意义了。

讨论:
除了上面这些原因,如果有一个select * from t where id=1 (id是主键)的语句,执行了2秒以上,你觉得可能还有什么原因呢?

最近发现公众号文章可以留言了,欢迎留言~

====

往期文章推荐:1.MySQL 面试题直播四(秒杀场景优化/超卖/行锁)

 2. 写一个符合大厂MySQL内核主干标准的功能,难不难?


原文作者:丁奇3306;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2024-08-07

  • 博文量
    104
  • 访问量
    44852