Oracle数据库中直方图对执行计划的影响

人工智能2025-11-05 13:49:3146

在Oracle数据库中,数据CBO会默认目标列的库中数据在其最小值low_value和***值high_value之间均匀分布,并按照均匀分布原则,直方执行来计算目标列施加查询条件后的图对可选择率以及结果集的cardinality。

如果对目标收集了直方图,计划则意味着CBO不再认为目标列上的数据数据是均匀分布的。CBO会用该列上的源码下载库中直方图的统计信息计算返回结果集的cardinality。

验证直方图对执行计划的直方执行影响步骤:

1、创建一张表T1

2、图对往表中插入倾斜度很高的计划数据

3、在B字段上创建索引

4、数据删除表中直方图信息

5、库中查看直方图信息

HISTOGRAM:NONE 代表没有直方图信息

6、直方执行查询b=2的b2b供应网图对执行计划

从执行计划可以看出:查询走的是全表扫描,因为表T1中的计划数据被视为了均匀分布,CBO认为走全表比走索引会更快

7、收集直方图信息

8、查询直方图信息

HISTOGRAM:FREQUENCY 频率直方图

可以看出此时表中已经有直方图信息

9、再次查看b=2的执行计划

这个时候可以看出,执行计划走了索引,结果正确!

高防服务器
本文地址:http://www.bzve.cn/html/927d62298450.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

VivoX9(前置双摄带来更出色的自拍体验)

用Python发一个高逼格的朋友圈「附代码」

你可能不知道的4种奇怪的编程语言

一文带你走进Python中的数据类

探索oppo耳机的卓越音质和舒适体验(了解oppo耳机的技术优势和用户口碑)

用 Python 绘制数据的7种流行的方法

18个值得推荐的学习Python和SQL的数据科学平台

Linux程序员宝典:2020年10款出色的Python IDE!

热门文章

友情链接

滇ICP备2023006006号-39