mysql 直方图统计_MySQL特性统计直方图(histogram)信息

博客文章除注明转载外,均为原创。转载请注明出处。

1、介绍

MySQL 8.0实现了直方图的统计。数据字典表column_statistics储存了相关列值的直方图统计信息,提供列数据分布情况,以用于优化器构建查询执行计划。执行ANALYZE TABLE [table] 命令可以管理相关列的直方图,默认情况下这些信息会被复制到备库。

比如:

ANALYZE TABLE tbl_name UPDATE HISTOGRAM ON col_name [, col_name] WITH N BUCKETS;

ANALYZE TABLE tbl_name DROP HISTOGRAM ON col_name [, col_name];

INFORMATION_SCHEMA.COLUMN_STATISTICS具有以下特征:

该表包含除几何类型(空间数据)和之外的所有数据类型的列的统计信息,保存为JSON类型。

该表数据是持久化的,因此每次服务器启动时都不需要创建列统计信息。

服务器对表执行更新统计信息; 用户不能去更新信息

2、直方图信息

用户无法直接访问column_statistics表,因为它是数据字典的一部分。

通过数据字典表的视图INFORMATION_SCHEMA.COLUMN_STATISTICS可以查询直方图信息。

CREATE TABLE IF NOT EXISTS column_stats (

database_name VARCHAR(64) NOT NULL,

table_name VARCHAR(64) NOT NULL,

column_name VARCHAR(64) NOT NULL,

histogram JSON NOT NULL,

P

你可能感兴趣的:(mysql,直方图统计)