创建CREATE_STAT_TABLE 统计信息表在达梦和oracle中的使用

news/2025/3/19 17:42:15/

达梦

创建CREATE_STAT_TABLE 统计信息表
PROCEDURE CREATE_STAT_TABLE (
STATOWN VARCHAR(128),
STATTAB VARCHAR(128),
TABLESPACE VARCHAR(128) DEFAULT NULL,
GLOBAL_TEMPORARY BOOLEAN DEFAULT FALSE
);
创建普通表的对应系统表的列名字段包括以下:
OWNER TABLE_NAME TABLESPACE_NAME CLUSTER_NAME IOT_NAME STATUS PCT_FREE PCT_USED INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS LOGGING BACKED_UP NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE INSTANCES CACHE TABLE_LOCK SAMPLE_SIZE LAST_ANALYZED PARTITIONED IOT_TYPE TEMPORARY SECONDARY NESTED BUFFER_POOL FLASH_CACHE CELL_FLASH_CACHE ROW_MOVEMENT GLOBAL_STATS USER_STATS DURATION SKIP_CORRUPT MONITORING CLUSTER_OWNER DEPENDENCIES COMPRESSION COMPRESS_FOR DROPPED READ_ONLY SEGMENT_CREATED RESULT_CACHE LONG_ROW

可创建指定用户下的统计信息表。

在这里插入图片描述

select * from SU.STAT$_TEST_N1_SU;
可以得出创建的统计信息表的列名字段:
STATID OWNNAME TABNAME NAME T_FLAG T_TOTAL N_SAMPLE N_DISTINCT N_NULL V_MIN V_MAX BLEVEL N_LEAF_PAGES N_LEAF_USED_PAGES CLUSTER_FACTOR N_BUCKETS DATA COL_AVG_LEN LAST_GATHERED INFO1 INFO2
其中收集表信息时使用的列字段是 T_TOTAL N_LEAF_PAGES N_LEAF_USED_PAGES

其中总行数可以在表对应的系统表记录的属性中取到
select * from all_tables where table_name = ‘TT_1’;
在这里插入图片描述

把目标表的统计信息导出到指定统计信息表中。dbms_stats.EXPORT_TABLE_STATS(‘SYSDBA’,‘TT_1’,NULL,‘TEST’);
select * from STAT$_TEST;查询创建的统计信息表信息
在这里插入图片描述

Oracle

创建CREATE_STAT_TABLE 统计信息表
指定用户和表名,会创建到指定用户下
在这里插入图片描述
在这里插入图片描述

可以得出创建的统计信息表的列名字段:
在这里插入图片描述
C1 TABLE_NAME C5 OWNERNAME N1 NUM_ROWS N2 BLOCKS (推测)
Oracle不支持达梦中 table_stats_show存储过程,只能通过导入统计信息表查看。
创建普通表的对应系统表的列名字段包括以下:
OWNER
TABLE_NAME
TABLESPACE_NAME
CLUSTER_NAME
IOT_NAME
STATUS PCT_FREE PCT_USED INI_TRANS MAX_TRANS INITIAL_EXTENT
NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS
LOGGIN BA NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LEN
AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS
DEGREE
INSTANCES
CACHE TABLE_LOCK SAMPLE_SIZE
LAST_ANALYZED PARTIT IOT_TYPE TE SE NESTED BUFFER_POOL
FLASH_CACHE CELL_FLASH_CAC ROW_MOVEMENT GLOBAL USER_S
DURATION SKIP_CORRUPT MONITO
CLUSTER_OWNER
DEPENDENCIES COMPRESSION
COMPRESS_FOR DROPPE READ_O
SEGMEN RESULT_CACHE CLUSTE ACTIVITY_TRACKING
DML_TIMESTAMP HAS_ID CONTAI
INMEMORY INMEMORY_PRIORIT INMEMORY_DISTRIBUTE
INMEMORY_COMPRESSION INMEMORY_DUPLICATE
DEFAULT_COLLATION
DU SH EXTERN CELLMEMORY
CONTAI CONTAI
EXTEND EXTEND
INMEMORY_SERVICE INMEMORY_SERVICE_NAME
CONTAI
对于统计字段,新建表后,插入数据之前都为空值,执行gather进行信息收集会更新值。
例子:
SQL> select owner,NUM_ROWS,BLOCKS,EMPTY_BLOCKS from all_tables where table_name = ‘T1’;

OWNERNUM_ROWSBLOCKSEMPTY_BLOCKS
C##XFJ050
C##SU

SQL> call dbms_stats.GATHER_TABLE_STATS(‘c##su’,‘T1’);

Call completed.
SQL> select owner,NUM_ROWS,BLOCKS,EMPTY_BLOCKS from all_tables where table_name = ‘T1’;

OWNERNUM_ROWSBLOCKSEMPTY_BLOCKS
C##XFJ050
C##SU150

把目标表的统计信息导出到指定统计信息表中。
call dbms_stats.EXPORT_TABLE_STATS(‘c##su’,‘T1’,NULL,‘TT_1’);

Create procedure f1
Begin
Str_sql := ‘select :1 from systables where tabname = ‘b1’’;
Execute immediate str_sql into b using a;
End;
/


http://www.ppmy.cn/news/1021551.html

相关文章

Flutter:文件上传与下载(下载后预览)

Dio dio是一个强大的Dart Http请求库,提供了丰富的功能和易于使用的API,支持文件上传和下载。 这个就不介绍了,网上有很多的封装案例。 background_downloader 简介 适用于iOS,Android,MacOS,Windows和L…

协程(一)单机--》并发--》协程

目录 一 协程的概述1.1 并行与并发1.2 线程1.3 新的思路1.4 Goroutine 二 第一个入门程序 一 协程的概述 我查看了网上的一些协程的资料,发现每个人对协程的概念都不一样,但是我认可的一种说法是:协程就是一种轻量级的线程框架(K…

leetcode357- 2812. 找出最安全路径

这个题比较经典,可以用多个算法来求解,分别给出各个算法的求解方法,主要是分为第一部分的多源BFS求每个位置的距离和第二部分求(0,0)到(n-1,n-1)的最短路径(可以用多种方法求) 目录 多源BFS求最短路径枚举安全系数判断…

任意文件上传漏洞详解与防护

任意文件上传漏洞是一种常见的网络安全问题,它允许攻击者上传并执行恶意文件,从而获取或破坏系统数据。本文将详细介绍这种漏洞的原理、攻击方式、检测方法以及防御措施。 一、任意文件上传漏洞原理 任意文件上传漏洞,通常发生在应用程序接受…

26.Netty源码之ThreadLocal

highlight: arduino-light JDK ThreadLocal 如果你需要变量在多线程之间隔离,或者在同线程内的类和方法中共享,那么 ThreadLocal 大显身手的时候就到了。ThreadLocal 可以理解为线程本地变量,它是 Java 并发编程中非常重要的一个类。 ThreadL…

第十六章、【Linux】程序管理与SELinux初探

16.1 什么是程序 (process) 在Linux 系统当中:“触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的使用者与相关属性关系&#xff…

《合成孔径雷达成像算法与实现》Figure3.7

代码复现如下: clc clear all close all%参数设置 TBP 100; %时间带宽积 T 10e-6; %脉冲持续时间%参数计算 B TBP/T; …

GOLANG进阶 之 接口(interface) 与 管道(channel)

好久没有跟新过文章了,小编最近有点忙,写文章的频率下降了许多,但是还是会持续跟新的,希望关注的同学仔细学习。 首先讲一下接口具体是个啥?小白可以结合官方定义和小编自己的理解共同学习下 官方解释:接口…