MySQL8.0开始支持索引之外的数据分布统计信息可选项

我们知道,在DB中,优化器负责将SQL转换为很多个不同的执行计划,完了从中选择一个最优的来实际执行。但是有时候优化器选择的最终计划有可能随着DB环境的变化不是最优的,这就导致了查询性能不是很好。比如,优化器无法准确的知道每张表的实际行数以及参与过滤条件的列有多少个不同的值。那其实有时候有人就说了,索引不是可以解决这个问题吗?是的,不同类型的索引可以解决这个问题,但是你不能每个列都建索引吧?如果一张表有1000个字段,那全字段索引将会拖死对这张表的写入。而此时,直方图就是相对来说,开销较小的方法。

支持两种直方图模式:

等宽(singleton),每个桶只有一个值,保存该值和累积的频率

等高(equi-height),每个桶保存上下限,累积频率以及不同值得个数

MySQL会自动分配用哪种类型得直方图,我们无需参与

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];

buckets默认是100

统计信息持久化存储在mysql.column_statistics表中(不可见表),每行记录对应一个字段的直方图,以json保存

可以从I_S.column_statistics中引用查看

select json_pretty(histogram) from information_schema.column_statistics\G

统计结果中的sampling-rate表示采样比例,越高消耗内存越多

histogram_generation_max_mem_size可限制内存使用上限,默认20MB

为什么需要直方图:

索引维护代价高,总是要保持更新

而直方图是用户按需更新,代价更低

直方图有以下限制:

不支持几何类型以及json

不支持加密表和临时表

不支持列值完全唯一

需要手工的进行键值分布

https://blog.csdn.net/wukong_666/article/details/80895557

mysql 直方图_MySQL直方图相关推荐

  1. OpenCV(十九)直方图(直方图计算、掩膜、均衡化、自适应均衡化)

    目录 一.基础理论 1.原理及作用 2.专业术语 二.直方图计算 函数介绍: 1.灰度图 代码: 效果: 2.彩色图 代码: 三.直方图掩膜的应用(mask) 1.基础理论 2.代码 3.效果 四.直 ...

  2. OpenCV之imgproc 模块. 图像处理(4)直方图均衡化 直方图计算 直方图对比 反向投影 模板匹配

    直方图均衡化 目标 在这个教程中你将学到: 什么是图像的直方图和为什么图像的直方图很有用 用OpenCV函数 equalizeHist 对图像进行直方图均衡化 原理 图像的直方图是什么? 直方图是图像 ...

  3. opencv进阶学习笔记7:直方图,直方图均衡化,直方图比较,直方图反向投影

    基础版传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 直方图基础讲解: opencv学 ...

  4. matlab 增加图像对比度_计算机视觉学习笔记6 图像直方图与直方图均衡化

    图像的直方图 图像直方图表示图像中每一种像素的个数,反映了图像中每种像素值出现的频率,是图像的基本统计特征之一,具有平移,旋转,缩放不变性,广泛应用于图像处理的各个领域.比如灰度图像的阈值分割,基于颜 ...

  5. 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波7 - 直方图处理 - 直方图、归一化直方图

    目录 直方图处理 直方图处理 令rk,k=0,1,2,-,L−1r_k, k=0, 1, 2, \dots, L-1rk​,k=0,1,2,-,L−1表于一幅LLL级灰度数字图像f(x,y)f(x,y ...

  6. opencv:灰色和彩色图像的像素直方图及直方图均值化的实现与展示

    直方图及直方图均值化的理论,实现及展示 直方图: 首先,我们来看看什么是直方图: 理论概念: 在图像处理中,经常用到直方图,如颜色直方图.灰度直方图等. 图像的灰度直方图就描述了图像中灰度分布情况,能 ...

  7. 灰度直方图及直方图均衡化的MATLAB实现

    文章和代码以及样例图片等相关资源,已经归档至[Github仓库:digital-image-processing-matlab]或者公众号[AIShareLab]回复 数字图像处理 也可获取. 文章目 ...

  8. 相对直方图 绝对直方图_什么是直方图,如何使用它来改善照片?

    相对直方图 绝对直方图 What's with that weird graph with all the peaks and valleys? You've seen it when you ope ...

  9. Matlab数字图像处理 02 灰度变化(图像直方图、直方图均衡化、直方图匹配)

    第二章 灰度变化 2.1 图像的亮度.对比度和动态范围 2.1.1 亮度 2.1.2 对比度 2.1.3 动态范围 2.2 线性灰度变换 2.2.1 具有饱和处理的线性灰度变换 2.2.2 分段线性灰 ...

最新文章

  1. redis中有key但是删不掉_一篇图文,搞定Redis事务
  2. [LeetCode]--290. Word Pattern
  3. NTFS磁盘的安全与管理
  4. [python爬虫] selenium爬取局部动态刷新网站(URL始终固定)
  5. 服务器的可维护性,可靠性和可维护性
  6. c语言函数实现strstr,C语言实现strstr函数模拟
  7. 彻底理解MapReduce shuffle过程原理
  8. django3安装rest_framework,并测试
  9. mysql workbench中文设置 mac系统,win系统,linux系统
  10. HDU 1596 find the safest road
  11. [北航软工]技术规格说明书
  12. 数据挖掘:概念与技术(第三版)之第四章的学习记录
  13. Pytorch demo(三)之蚂蚁和蜜蜂
  14. JSP+MySQL基于ssm的物理竞赛管理系统
  15. 保护电路:简单的限流保护电路图
  16. 利用Python一键爬取上海二手房信息
  17. 计算机sci审稿意见,【小木虫SCI秘籍】感悟之二——一个审稿意见的回复 - 论文投稿 - 小木虫 - 学术 科研 互动社区...
  18. Qt 的反射(Reflection)应用
  19. 如果有一天你退步了,请记住下面5个网站,让你终身受益
  20. waterfilling之二

热门文章

  1. tensorflow 实验过程可重复
  2. CSS定位中“父相子绝”
  3. 【100Days of 100 line Code】2 day
  4. tomcat源码阅读之session管理器(Manager)
  5. 移动浏览器相关总结(持续更新)
  6. HTML5表单那些事
  7. [原]pomelo开发环境搭建
  8. .htaccess文件玩转Rewrite
  9. 决胜圣诞,女神心情不用猜!
  10. 设计模式之观察者模式(Observer Pattern)