iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >统计信息DBMS_STATS包的一些参数解释
  • 909
分享到

统计信息DBMS_STATS包的一些参数解释

2024-04-02 19:04:59 909人浏览 泡泡鱼
摘要

DBMS_STATS.SET_GLOBAL_PREFS (     pname     IN   VARCHAR2,   &n

DBMS_STATS.SET_GLOBAL_PREFS (
    pname     IN   VARCHAR2,
    pvalue    IN   VARCHAR2);

DBMS_STATS.SET_DATABASE_PREFS (
    pname            IN   VARCHAR2,
    pvalue           IN   VARCHAR2,
    add_sys          IN   BOOLEAN DEFAULT FALSE);

DBMS_STATS.SET_SCHEMA_PREFS (
    ownname   IN   VARCHAR2,
    pname     IN   VARCHAR2,
    pvalue    IN   VARCHAR2);

DBMS_STATS.SET_TABLE_PREFS (
    ownname    IN  VARCHAR2,
    tabname    IN  VARCHAR2,
    pname      IN  VARCHAR2,
    pvalue     IN  VARCHAR2);

DBMS_STATS.Constants
Name            TypeValue
AUTO_CASCADE        BOOLEAN     NULL
AUTO_DEGREE         NUMBER      32768
AUTO_INVALIDATE     BOOLEAN     NULL
AUTO_SAMPLE_SIZE    NUMBER      0


pname:Preference name. The default value for following preferences can be set:CASCADE、DEGREE、ESTIMATE_PERCENT、METHOD_OPT、NO_INVALIDATE、GRANULARITY、PUBLISH、INCREMENTAL、STALE_PERCENT

pvalue:Preference value. If NULL is specified, it will set the oracle default value.


CASCADE - Determines whether or not index statistics are collected as part of gathering table statistics.
确定是否收集索引统计信息作为收集表统计信息的一部分。
默认值是DBMS_STATS.AUTO_CASCADE,AUTO_CASCADE的默认值是NULL,也就是false,因为_optimizer_compute_index_stats隐含参数指明了只有创建或重建索引时才会自动收集索引的统计信息force index stats collection on index creation/rebuild

DEGREE - Determines degree of parallelism used for gathering statistics.
确定用于收集统计数据的并行度
默认值是DBMS_STATS.AUTO_DEGREE,oracle基于基于对象的大小,CPU的数量和初始化参数来自动决定的。based on size of the object, number of CPUs and initialization parameters

ESTIMATE_PERCENT - Determines the percentage of rows to estimate. The valid range is [0.000001,100]. Use the constant DBMS_STATS.AUTO_SAMPLE_SIZE to have Oracle determine the appropriate sample size for Good statistics. This is the default.
确定要估计的行的百分比。 有效范围是[0.000001,100]。 使用常量DBMS_STATS.AUTO_SAMPLE_SIZE来拥有Oracle确定适当的样本量以获得良好的统计数据
默认值是DBMS_STATS.AUTO_SAMPLE_SIZE,oracle使用自动样本大小算法,Indicates that auto-sample size algorithms should be used


METHOD_OPT - Controls column statistics collection and histogram creation. It accepts either of the following options, or both in combination:
FOR ALL [INDEXED | HIDDEN] COLUMNS [size_clause]
FOR COLUMNS [size clause] column [size_clause] [,column [size_clause]...]
size_clause is defined as size_clause := SIZE {integer | REPEAT | AUTO | SKEWONLY}
column is defined as column := column_name | extension name | extension
- integer : Number of histogram buckets. Must be in the range [1,254].
- REPEAT : Collects histograms only on the columns that already have histograms
- AUTO : Oracle determines the columns to collect histograms based on data distribution and the workload of the columns.
- SKEWONLY : Oracle determines the columns to collect histograms based on the data distribution of the columns.
- column_name : Name of a column
- extension : Can be either a column group in the fORMat of (column_name, colume_name [, ...]) or an expression
The default is FOR ALL COLUMNS SIZE AUTO.
控制列统计信息收集和直方图创建。 它接受以下选项之一,或两者组合
size_clause使用整数:就是把所有数据分成XX份来采样

size 1:就是把所有数据分成一份来采样
总计1200行,如果数据分布不均匀,比如生日月份字段,一般12个月,但是前面1000行都是1月份,后面200行是2-12月份
如果分成一份,那每个月就是1/12

size 12:就是把所有数据分成12份来采样
总计1200行,如果数据分布不均匀,比如生日月份字段,一般12个月,但是前面1000行都是1月份,后面200行是2-12月份
如果分成12份,那1月份就是10/12,其他月份都是(200/11)/1200

size 254:就是把所有数据分成254份来采样

默认值为ALL COLUMNS SIZE AUTO,收集所有数据倾斜且使用过的列


NO_INVALIDATE - The value controls the invalidation of dependent cursors of the tables for which statistics are being gathered. Does not invalidate the dependent cursors if set to TRUE. The procedure invalidates the dependent cursors immediately if set to FALSE. Use DBMS_STATS.AUTO_INVALIDATE to have Oracle decide when to invalidate dependent cursors. This is the default.
该值控制正在收集统计信息的表的从属游标(即依赖该表的执行计划)的无效。 不会使依赖关系无效光标如果设置为TRUE。 如果设置为FALSE,则该过程立即使依赖游标无效。 
true:当收集完统计信息后,收集对象的cursor不会失效(不会产生新的执行计划)
false:当收集完统计信息后,收集对象的cursor会立即失效(产生新的执行计划)
默认值DBMS_STATS.AUTO_INVALIDATE,受参数_optimizer_invalidation_period控制,默认是18000秒即5小时。

GRANULARITY - Determines granularity of statistics to collect (only pertinent if the table is partitioned)
确定要收集的统计信息的粒度(仅在表被分区时才相关)

PUBLISH - Determines whether or not newly gathered statistics will be published once the gather job has completed. Prior to Oracle Database 11g, Release 1 (11.1), once a statistic gathering job completed the new statistics were automatically published into the dictionary tables. The user now has the ability to gather statistics but not publish them immediately. This allows the DBA to test the new statistics before publishing them.
确定收集作业完成后是否新发布的统计信息将被发布。 在Oracle Database 11g第1版(11.1)之前,一旦统计收集工作完成,新的统计数据就会自动发布到字典表中。 用户现在有能力收集统计,但不立即发布。 这样DBA可以在发布新的统计信息之前测试新的统计信息

INCREMENTAL - Determines whether or not the global statistics of a partitioned table will be maintained without doing a full table scan. With partitioned tables it is very common to load new data into a new partition. As new partitions are added and data loaded, the global table statistics need to be kept up to date. Oracle will update the global table statistics by scanning only the partitions that have been changed instead of the entire table if the following conditions hold:
INCREMENTAL value for the partitioned table is set to TRUE;
PUBLISH value for the partitioned table is set to TRUE;
User specifies AUTO_SAMPLE_SIZE for ESTIMATE_PERCENT and AUTO for GRANULARITY when gathering statistics on the table.
If the INCREMENTAL value for the partitioned table was set to FALSE (default value), a full table scan is used to maintain the global statistics which is a much more resource intensive and time-consuming operation for large tables.
确定在不进行全表扫描的情况下,是否维护分区表的全局统计信息。使用分区表将新数据加载到新分区中非常常见。 随着添加新分区和加载数据,全局表统计信息需要保持最新状态。如果满足以下条件,则仅扫描已更改的分区而不是整个表的更新全局表统计信息:
分区表的INCREMENTAL值设置为TRUE;
分区表的PUBLISH值设置为TRUE;
在收集表上的统计信息时,用户为ESTIMATE_PERCENT指定AUTO_SAMPLE_SIZE,并为GRANULARITY指定AUTO。
如果分区表的INCREMENTAL值设置为FALSE(默认值),则使用全表扫描来维护全局统计信息更大的资源密集和耗时的大型桌面操作。

STALE_PERCENT - Determines the percentage of rows in a table that have to change before the statistics on that table are deemed stale and should be regathered. The valid domain for stale_percent is non-negative numbers. The default value is 10%.
确定表中必须更改的行的百分比,该表之前的统计信息被视为过时且应该被归并。该stale_percent的有效域是非负数。 默认值为10%
您可能感兴趣的文档:

--结束END--

本文标题: 统计信息DBMS_STATS包的一些参数解释

本文链接: https://www.lsjlt.com/news/49090.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 统计信息DBMS_STATS包的一些参数解释
    DBMS_STATS.SET_GLOBAL_PREFS (     pname     IN   VARCHAR2,   &n...
    99+
    2024-04-02
  • MySQL中的统计信息相关参数介绍
    统计信息的作用 上周同事在客户现场遇到了由于统计信息的原因,导致应用数据迁移时间过慢,整个迁移差点失败。关键时刻同事发现测试环境与生产环境SQL语句执行计划不一致,立刻收集统计信息才保...
    99+
    2024-04-02
  • MySQL索引统计信息更新相关的参数有哪些
    这篇文章主要讲解了“MySQL索引统计信息更新相关的参数有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL索引统计信息更新相关的参数有哪些”吧!...
    99+
    2024-04-02
  • 收集统计数据库信息的隐患有哪些
    这篇文章主要讲解了“收集统计数据库信息的隐患有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“收集统计数据库信息的隐患有哪些”吧!收集统计信息使得SQL产...
    99+
    2024-04-02
  • 计算机网络中流程信息系统主要包括哪些
    小编给大家分享一下计算机网络中流程信息系统主要包括哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在流程整合型系统中,整合上游流程的是SCM系统。SCM是指供应...
    99+
    2023-06-14
  • 数据库中怎么找出未收集统计信息以及统计信息过期的表
    小编给大家分享一下数据库中怎么找出未收集统计信息以及统计信息过期的表,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!下面这个查询可以找到从未收集过统计信息或者统计信息过期的表。EXEC&nb...
    99+
    2024-04-02
  • PostgreSQL统计信息中相关的数据字典表有哪些
    本篇内容介绍了“PostgreSQL统计信息中相关的数据字典表有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • Oracle 12c数据库优化器统计信息收集的最佳实践(一)
    原文链接 http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-bp-for-stats-gather-12c-196...
    99+
    2024-04-02
  • Oracle 11g系统自动收集统计信息的知识有哪些
    这篇文章主要讲解了“Oracle 11g系统自动收集统计信息的知识有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle 11g系统自动收集统计信...
    99+
    2024-04-02
  • PHP 函数的文档块应该包含哪些信息?
    php 文档块是在函数中为其他开发人员编写的信息注释,包含有关函数的信息,包括:作者、日期、目标、参数、返回值、异常和用法示例。 PHP 函数的文档块 PHP 文档块是注释,提供有关函...
    99+
    2024-04-17
    php 文档块
  • 学生信息管理系统的数据库设计MySQL
    学生信息管理系统的数据库设计 1.课程设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和...
    99+
    2023-10-23
    数据库 mysql
  • 如何使用SAP统计SAP C4C系统包含的产品信息分布情况
    这篇文章主要讲解了“如何使用SAP统计SAP C4C系统包含的产品信息分布情况”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用SAP统计SAP C4C系统包含的产品信息分布情况”吧!从...
    99+
    2023-06-03
  • 计算机中管理信息系统的主要功能有哪些
    小编给大家分享一下计算机中管理信息系统的主要功能有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!管理信息系统的主要功能:1、数据处理功能;2、预测功能,根据过...
    99+
    2023-06-14
  • MySQL实现统计过去12个月每个月的数据信息
    目录1、问题2、解决方案总结1、问题 当前项目中含有一个订单表,实现分析2020年每个月乘客来源的趋势图 需要分析2020年每个出发地点origin每个月里的出现的此时 t_order表 2、解决方案 使用DATE_F...
    99+
    2022-12-01
    MySQL统计 MySQL统计每个月数据 MySQL统计数据信息
  • linux下wc如何统计文件的个数、行数、字数、字节数等信息
    这篇文章给大家分享的是有关linux下wc如何统计文件的个数、行数、字数、字节数等信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数...
    99+
    2023-06-09
  • linux如何获得已经安装在系统中一个特殊包的信息
    ...
    99+
    2024-04-02
  • Base64:含中文参数转码,对方接受参数解码后,中文信息乱码的解决方案
    Base64:含中文参数转码,对方接受参数解码后,中文信息乱码的解决方案 前言一、Base64是什么?二、问题解决总结 前言 在用Postman调接口给对方发参数的时候,对方反应含中文参数的字段信息部分乱码(即中文乱码,数字等...
    99+
    2023-08-17
    java spring boot
  • 数据库中如何实现全局临时表GTT的统计信息
    这篇文章主要介绍数据库中如何实现全局临时表GTT的统计信息,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们都知道,全局临时表GTT分为两种,一种是transaction level...
    99+
    2024-04-02
  • 如何编写一键统计数据库临时表空间和阻塞lock信息的Shell脚本
    这篇文章给大家介绍如何编写一键统计数据库临时表空间和阻塞lock信息的Shell脚本,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。今天主要分享一下两个shell脚本,主要是为了查看数据...
    99+
    2024-04-02
  • 如何在MySQL中设计一个安全的会计系统表结构以保护敏感信息?
    如何在MySQL中设计一个安全的会计系统表结构以保护敏感信息?随着信息安全的重要性日益凸显,设计一个安全的会计系统表结构以保护敏感信息变得至关重要。MySQL作为一种常用的关系型数据库管理系统,为我们提供了一些安全性控制手段,并且可以通过合...
    99+
    2023-10-31
    MySQL 安全设计 会计系统
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作