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

MySQL 8.0引入了直方图统计,用于优化查询执行计划。直方图信息存储在column_statistics表中,可通过ANALYZE TABLE命令管理。直方图有两种类型:等宽和等高,适用于各种数据类型。优化器使用直方图统计信息来估计行数,尤其在非索引列上。直方图统计信息在数据修改后可能过期,需定期更新。
摘要由CSDN通过智能技术生成

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值