最近RDS FOR MYSQL5.6的统计信息有问题,一些表明明的数据,但统计信息里去显示为空表,导致执行计划出错,查询效率很低,所以查看下相关的信息。

-- 查看服务器系统变量,实际上使用的变量的值
show variables like '%innodb_stats_auto_recalc%';
-- 查看服务器状态变量,运行服务器的统计和状态指标
show status like '%Uptime%'; -- MySQL服务器已经运行的秒数
-- 刷新参数
flush status; -- 查看当前和打开过的表
show global status like 'open%_tables'; -- 清空表缓存
flush tables; -- 重启innodb_stats_auto_recalc
set @innodb_stats_auto_recalc=OFF;
set @innodb_stats_auto_recalc=ON;
MySQL [database_name]> select count(1) as cnt from database_name.dw_std_yf_roomtype_position;
+---------+
| cnt |
+---------+
| 1247196 |
+---------+
1 row in set (0.20 sec) MySQL [database_name]> select * from mysql.innodb_table_stats where table_name='dw_std_yf_roomtype_position';
+---------------------+-----------------------------+---------------------+--------+----------------------+--------------------------+
| database_name | table_name | last_update | n_rows | clustered_index_size | sum_of_other_index_sizes |
+---------------------+-----------------------------+---------------------+--------+----------------------+--------------------------+
| database_name | dw_std_yf_roomtype_position | 2019-08-01 02:07:24 | 0 | 1 | 3 |
+---------------------+-----------------------------+---------------------+--------+----------------------+--------------------------+
1 row in set (0.09 sec) MySQL [database_name]> select * from information_schema.tables where table_schema = 'database_name' and table_name = 'dw_std_yf_roomtype_position';
+---------------+---------------------+-----------------------------+------------+--------+---------+------------+------------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+------------------------------------+--------------+
| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | ENGINE | VERSION | ROW_FORMAT | TABLE_ROWS | AVG_ROW_LENGTH | DATA_LENGTH | MAX_DATA_LENGTH | INDEX_LENGTH | DATA_FREE | AUTO_INCREMENT | CREATE_TIME | UPDATE_TIME | CHECK_TIME | TABLE_COLLATION | CHECKSUM | CREATE_OPTIONS | TABLE_COMMENT | BLOCK_FORMAT |
+---------------+---------------------+-----------------------------+------------+--------+---------+------------+------------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+------------------------------------+--------------+
| def | database_name | dw_std_yf_roomtype_position | BASE TABLE | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 49152 | 4194304 | NULL | 2018-01-25 16:55:06 | NULL | NULL | utf8_general_ci | NULL | | 801002002017_户型的检查部位 | Original |
+---------------+---------------------+-----------------------------+------------+--------+---------+------------+------------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+------------------------------------+--------------+
1 row in set (0.00 sec) MySQL [database_name]> ANALYZE table database_name.dw_std_yf_roomtype_position;
+-------------------------------------------------+---------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-------------------------------------------------+---------+----------+----------+
| database_name.dw_std_yf_roomtype_position | analyze | status | OK |
+-------------------------------------------------+---------+----------+----------+
1 row in set (0.07 sec) MySQL [database_name]> select * from mysql.innodb_table_stats where table_name='dw_std_yf_roomtype_position';
+---------------------+-----------------------------+---------------------+---------+----------------------+--------------------------+
| database_name | table_name | last_update | n_rows | clustered_index_size | sum_of_other_index_sizes |
+---------------------+-----------------------------+---------------------+---------+----------------------+--------------------------+
| database_name | dw_std_yf_roomtype_position | 2019-08-01 10:56:02 | 1157429 | 32640 | 40192 |
+---------------------+-----------------------------+---------------------+---------+----------------------+--------------------------+
1 row in set (0.10 sec) MySQL [database_name]> select * from information_schema.tables where table_schema = 'database_name' and table_name = 'dw_std_yf_roomtype_position';
+---------------+---------------------+-----------------------------+------------+--------+---------+------------+------------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+------------------------------------+--------------+
| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | ENGINE | VERSION | ROW_FORMAT | TABLE_ROWS | AVG_ROW_LENGTH | DATA_LENGTH | MAX_DATA_LENGTH | INDEX_LENGTH | DATA_FREE | AUTO_INCREMENT | CREATE_TIME | UPDATE_TIME | CHECK_TIME | TABLE_COLLATION | CHECKSUM | CREATE_OPTIONS | TABLE_COMMENT | BLOCK_FORMAT |
+---------------+---------------------+-----------------------------+------------+--------+---------+------------+------------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+------------------------------------+--------------+
| def | database_name | dw_std_yf_roomtype_position | BASE TABLE | InnoDB | 10 | Compact | 1157429 | 462 | 534773760 | 0 | 658505728 | 4194304 | NULL | 2018-01-25 16:55:06 | NULL | NULL | utf8_general_ci | NULL | | 801002002017_户型的检查部位 | Original |
+---------------+---------------------+-----------------------------+------------+--------+---------+------------+------------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+------------------------------------+--------------+
1 row in set (0.00 sec) MySQL [database_name]> show index from database_name.dw_std_yf_roomtype_position;
+-----------------------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible |
+-----------------------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| dw_std_yf_roomtype_position | 0 | PRIMARY | 1 | id | A | 1157429 | NULL | NULL | | BTREE | | | YES |
| dw_std_yf_roomtype_position | 0 | PRIMARY | 2 | db_name | A | 1157429 | NULL | NULL | | BTREE | | | YES |
| dw_std_yf_roomtype_position | 1 | ix_position_id | 1 | position_id | A | 52610 | NULL | NULL | YES | BTREE | | | YES |
| dw_std_yf_roomtype_position | 1 | ix_tenant_roomtype | 1 | roomtype_id | A | 289357 | NULL | NULL | YES | BTREE | | | YES |
| dw_std_yf_roomtype_position | 1 | ix_tenant_roomtype | 2 | db_name | A | 289357 | NULL | NULL | | BTREE | | | YES |
| dw_std_yf_roomtype_position | 1 | ix_tenant_position | 1 | db_name | A | 12580 | NULL | NULL | | BTREE | | | YES |
| dw_std_yf_roomtype_position | 1 | ix_tenant_position | 2 | position_id | A | 44516 | NULL | NULL | YES | BTREE | | | YES |
+-----------------------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ MySQL [database_name]> select * from mysql.innodb_index_stats where database_name='database_name' and table_name='dw_std_yf_roomtype_position';
+---------------------+-----------------------------+--------------------+---------------------+--------------+------------+-------------+-----------------------------------+
| database_name | table_name | index_name | last_update | stat_name | stat_value | sample_size | stat_description |
+---------------------+-----------------------------+--------------------+---------------------+--------------+------------+-------------+-----------------------------------+
| database_name | dw_std_yf_roomtype_position | PRIMARY | 2019-08-01 10:56:02 | n_diff_pfx01 | 1095171 | 20 | id |
| database_name | dw_std_yf_roomtype_position | PRIMARY | 2019-08-01 10:56:02 | n_diff_pfx02 | 1157429 | 20 | id,db_name |
| database_name | dw_std_yf_roomtype_position | PRIMARY | 2019-08-01 10:56:02 | n_leaf_pages | 28299 | NULL | Number of leaf pages in the index |
| database_name | dw_std_yf_roomtype_position | PRIMARY | 2019-08-01 10:56:02 | size | 32640 | NULL | Number of pages in the index |
| database_name | dw_std_yf_roomtype_position | ix_position_id | 2019-08-01 10:56:02 | n_diff_pfx01 | 25448 | 20 | position_id |
| database_name | dw_std_yf_roomtype_position | ix_position_id | 2019-08-01 10:56:02 | n_diff_pfx02 | 1345353 | 20 | position_id,id |
| database_name | dw_std_yf_roomtype_position | ix_position_id | 2019-08-01 10:56:02 | n_diff_pfx03 | 1239445 | 20 | position_id,id,db_name |
| database_name | dw_std_yf_roomtype_position | ix_position_id | 2019-08-01 10:56:02 | n_leaf_pages | 10486 | NULL | Number of leaf pages in the index |
| database_name | dw_std_yf_roomtype_position | ix_position_id | 2019-08-01 10:56:02 | size | 12160 | NULL | Number of pages in the index |
| database_name | dw_std_yf_roomtype_position | ix_tenant_position | 2019-08-01 10:56:02 | n_diff_pfx01 | 6263 | 20 | db_name |
| database_name | dw_std_yf_roomtype_position | ix_tenant_position | 2019-08-01 10:56:02 | n_diff_pfx02 | 21960 | 20 | db_name,position_id |
| database_name | dw_std_yf_roomtype_position | ix_tenant_position | 2019-08-01 10:56:02 | n_diff_pfx03 | 1369816 | 20 | db_name,position_id,id |
| database_name | dw_std_yf_roomtype_position | ix_tenant_position | 2019-08-01 10:56:02 | n_leaf_pages | 10311 | NULL | Number of leaf pages in the index |
| database_name | dw_std_yf_roomtype_position | ix_tenant_position | 2019-08-01 10:56:02 | size | 11968 | NULL | Number of pages in the index |
| database_name | dw_std_yf_roomtype_position | ix_tenant_roomtype | 2019-08-01 10:56:02 | n_diff_pfx01 | 131679 | 20 | roomtype_id |
| database_name | dw_std_yf_roomtype_position | ix_tenant_roomtype | 2019-08-01 10:56:02 | n_diff_pfx02 | 125442 | 20 | roomtype_id,db_name |
| database_name | dw_std_yf_roomtype_position | ix_tenant_roomtype | 2019-08-01 10:56:02 | n_diff_pfx03 | 1591935 | 20 | roomtype_id,db_name,id |
| database_name | dw_std_yf_roomtype_position | ix_tenant_roomtype | 2019-08-01 10:56:02 | n_leaf_pages | 13861 | NULL | Number of leaf pages in the index |
| database_name | dw_std_yf_roomtype_position | ix_tenant_roomtype | 2019-08-01 10:56:02 | size | 16064 | NULL | Number of pages in the index |
+---------------------+-----------------------------+--------------------+---------------------+--------------+------------+-------------+-----------------------------------+

ref: https://www.cnblogs.com/zengkefu/p/5634858.html
ref: https://www.cnblogs.com/justfortaste/p/3276363.html

mysql统计信息相关的更多相关文章

  1. MySQL统计信息简介

    作者:王小龙@网易乐得DBA 原文地址: http://mp.weixin.qq.com/s/698g5lm9CWqbU0B_p0nLMw MySQL执行SQL会经过SQL解析和查询优化的过程,解析器 ...

  2. MySQL统计信息以及执行计划预估方式初探

    数据库中的统计信息在不同(精确)程度上描述了表中数据的分布情况,执行计划通过统计信息获取符合查询条件的数据大小(行数),来指导执行计划的生成.在以Oracle和SQLServer为代表的商业数据库,和 ...

  3. MySQL 统计信息

    200 ? "200px" : this.width)!important;} --> 介绍 数据库维护统计信息的目的主要是为了优化器进行更好的执行优化,首先统计信息是建立在 ...

  4. MySQL索引统计信息更新相关的参数

    MySQL统计信息相关的参数: 1. innodb_stats_on_metadata(是否自动更新统计信息),MySQL 5.7中默认为关闭状态 仅在统计信息配置为非持久化的时候生效. 也就是说在i ...

  5. MySQL 8.0 中统计信息直方图的尝试

    直方图是表上某个字段在按照一定百分比和规律采样后的数据分布的一种描述,最重要的作用之一就是根据查询条件,预估符合条件的数据量,为sql执行计划的生成提供重要的依据在MySQL 8.0之前的版本中,My ...

  6. MySQL InnoDB配置统计信息

    MySQL InnoDB配置统计信息 1. 配置持久化(Persistent)统计信息参数 1.1 配置自动触发更新统计信息参数 1.2 配置每张表的统计参数 1.3 配置InnoDB优化器统计信息的 ...

  7. MySQL的统计信息学习总结

    统计信息概念 MySQL统计信息是指数据库通过采样.统计出来的表.索引的相关信息,例如,表的记录数.聚集索引page个数.字段的Cardinality.....MySQL在生成执行计划时,需要根据索引 ...

  8. innodb索引统计信息

    以下分析基于mysql5.6.10 统计信息相关字典表 information_schema.statistics mysql.innodb_table_stats mysql.innodb_inde ...

  9. mysql-5.7 持久化统计信息详解

    一.持久化统计信息的意义: 统计信息用于指导mysql生成执行计划,执行计划的准确与否直接影响到SQL的执行效率:如果mysql一重启 之前的统计信息就没有了,那么当SQL语句来临时,那么mysql就 ...

随机推荐

  1. 闲聊CSS之关于clearfix--清除浮动

    一,什么是.clearfix 你只要到Google或者Baidu随便一搜"css清除浮动",就会发现很多网站都讲到"盒子清除内部浮动时可以用到.clearfix" ...

  2. 统计py文件或目录代码行数

    bug:当遇到3个"""时 可能会将下面的代码不计入代码总行数 import os def count_path(path,countcode): if os.path. ...

  3. NKOJ1472 警卫安排

    P1472警卫安排   时间限制 : 10000 MS   空间限制 : 65536 KB 问题描述 一个重要的基地被分为n个连通的区域.出于某种神秘的原因,这些区域以一个区域为核心,呈一颗树形分布. ...

  4. 【洛谷】P1888 三角函数

    P1888 三角函数 题目描述 输入一组勾股数a,b,c(a≠b≠c),用分数格式输出其较小锐角的正弦值.(要求约分.) 输入输出格式 输入格式: 一行,包含三个数,即勾股数a,b,c(无大小顺序). ...

  5. 跟我一起使用webpack给一个开源项目添加一个运行入口

    啦啦啦啦啦不要把webpack想的很高大上就放弃了探究的想法,其实webpack特别的平易近人,就是一个工具 今天看到了一个超级美丽的项目 你可以看到各种各样的口红色号,满屏的粉色,哇哇哇哇塞,美美哒 ...

  6. selenium(3):学习操作元素基本方法

    来源:<selenium webdriver基于Python源码案例> 一.打开网页①第一步:从selenium里面导入webdriver模块②打开浏览器(Ie和Chrome对应下面的)③ ...

  7. Hibernate的映射机制是怎样?

    Hibernate的映射机制对象关系映射(Object Relation Mapping(ORM))是一种为了解决面向对象与面向关系数据库互不匹配现象的技术,简而言之ORM是通过使用描述对象之间映射的 ...

  8. 【JZOJ4895】【NOIP2016提高A组集训第16场11.15】三部曲

    =v= 因为外来的入侵,国王决定在某些城市加派士兵.所有城市初始士兵数量为0.当城市 被加派了k名士兵时.城市i的所有子城市需要被加派k+1名士兵.这些子城市的所有子城市需要被加派k+2名士兵.以此类 ...

  9. poj3422 最小费用流

    一遍的话秩序要dp就好,但是这里要删去点.此题可以转化为最小费用流.开始我想了半天纠结怎么处理到过一次后值变0,看了书之后发现拆点解决了这个问题. 对于点t,拆为t-->t',容量为1,费用为负 ...

  10. 运行docker容器镜像2(指定容器启动时启动的脚本)

    docker中启动容器有以下两种情况. 第一种是通过 # docker run containerid 启动一个容器. 第二种是重新启动已经关闭的容器. # docker start containe ...