前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >MySQL中找出统计信息不及时的大表

MySQL中找出统计信息不及时的大表

原创
作者头像
保持热爱奔赴山海
发布2024-12-05 16:12:10
发布2024-12-05 16:12:10
720
举报
文章被收录于专栏:数据库相关数据库相关

统计信息不及时会造成SQL执行计划的跑偏,因此有必要对大表的统计信息进行巡检。

关于统计信息的收集,可以看八怪老师的这篇 MySQL:优化器统计数据可能过旧

下面是一个简单地sql检查脚本,可以包装下加入到数据库巡检平台里面。

代码语言:txt
复制
SELECT
	database_name,
	table_name,
	last_update,
	n_rows 
FROM
	mysql.innodb_table_stats 
WHERE
	1 = 1 
	AND n_rows > 50 * 10000  -- 优先关注行数超过50w的表
	AND last_update < date_add( CURRENT_DATE (), INTERVAL '-14' DAY ) 
ORDER BY
	n_rows DESC 
	LIMIT 100;

对于上面巡检的库表清单,可以在低峰期执行 analyze table xx 重新采集统计信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档