加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL 8.0新特性之统计直方图

发布时间:2018-11-07 05:06:50 所属栏目:MySql教程 来源:韩杰·沃趣科技
导读:副标题#e# 【新品产上线啦】51CTO播客,随时随地,碎片化学习 概览 MySQL8.0实现了统计直方图。利用直方图,用户可以对一张表的一列做数据分布的统计,特别是针对没有索引的字段。这可以帮助查询优化器找到更优的执行计划。统计直方图的主要使用场景是用来

如果需要删除已经创建的直方图,用DROP HISTOGRAM就可以实现:

  1. mysql> ANALYZE TABLE payment DROP HISTOGRAM ON payment_date;  
  2. +----------------+-----------+----------+---------------------------------------------------------+  
  3. | Table          | Op        | Msg_type | Msg_text                                                |  
  4. +----------------+-----------+----------+---------------------------------------------------------+  
  5. | sakila.payment | histogram | status   | Histogram statistics removed for column 'payment_date'. |  
  6. +----------------+-----------+----------+---------------------------------------------------------+ 

UPDATE HISTOGRAM可以一次性为多个列创建直方图。如果命令中间写错,ANALYZE TABLE仍然会起作用。比如,你指定了三列,但第二列不存在。MySQL仍然会为第一列和第三列创建直方图。

  1. mysql> ANALYZE TABLE customer UPDATE HISTOGRAM ON c_birth_day, c_foobar, c_birth_month WITH 32 BUCKETS;  
  2. +----------------+-----------+----------+----------------------------------------------------------+  
  3. | Table          | Op        | Msg_type | Msg_text                                                 |  
  4. +----------------+-----------+----------+----------------------------------------------------------+  
  5. | tpcds.customer | histogram | status   | Histogram statistics created for column 'c_birth_day'.   |  
  6. | tpcds.customer | histogram | status   | Histogram statistics created for column 'c_birth_month'. |  
  7. | tpcds.customer | histogram | Error    | The column 'c_foobar' does not exist.                    | 
  8. +----------------+-----------+----------+----------------------------------------------------------+  
  9. 3 rows in set (0.15 sec) 

数据库内部发生了什么

当你读过MySQL手册,你可能已经注意到新的系统变量histogram_generation_max_mem_size。当用户建立统计直方图,这个值是用来控制大约多少内存能允许被使用。那么,为什么要控制这个呢?

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读