表-sys_tables
功能描述
sys_tables系统表用于存储系统库和用户库中的所有表信息。
字段说明
序号 | 字段名 | 类型 | 说明 |
---|---|---|---|
0 | DB_ID | INTEGER | 库ID |
1 | USER_ID | INTEGER | 拥有者的用户ID |
2 | SCHEMA_ID | INTEGER | 模式ID |
3 | TABLE_ID | INTEGER | 表ID |
4 | TABLE_NAME | VARCHAR | 表名 |
5 | TABLE_TYPE | INTEGER | 表类型(堆表:0;IOT表:1;外部文件表:2;虚拟表:3;函数表:4;远程表:5) |
6 | TEMP_TYPE | INTEGER | 临时类型 0:非临时 1:局部临时表 2:全局临时表 |
7 | FIELD_NUM | INTEGER | 字段数 |
8 | PARTI_TYPE | INTEGER | 分区类型 |
9 | PARTI_NUM | INTEGER | 分区数 |
10 | PARTI_KEY | VARCHAR1024 | 分区键 |
11 | AUTO_PARTI_TYPE | INTEGER | 自动分区的类型(0:无 1:按年 2:按月) |
12 | AUTO_PARTI_SPAN | INTEGER | 时段自动分区的时段长度 |
13 | SUBPARTI_TYPE | INTEGER | 子分区类型 |
14 | SUBPARTI_NUM | INTEGER | 子分区数 |
15 | SUBPARTI_KEY | VARCHAR1024 | 子分区键 |
16 | GSTO_NO | INTEGER | 首Tablet ID |
17 | COPY_NUM | INTEGER | 副本数 |
18 | BLOCK_SIZE | INTEGER | 块大小(K) |
19 | CHUNK_SIZE | INTEGER | 存贮单元大小(M) |
20 | RECORD_NUM | BIGINT | 记录数 |
21 | PCTFREE | INTEGER | 块的预留置空间比例 |
22 | HOTSPOT_NUM | INTEGER | 插入操作的热点个数 |
23 | USE_CACHE | BOOLEAN | 该表的块是否使用高速缓存 |
24 | ONLINE | BOOLEAN | 表是否在线 |
25 | IS_SYS | BOOLEAN | 是否系统内建 |
26 | IS_ENCRY | BOOLEAN | 是否是加密表 |
27 | SLOW_MODIFY | BOOLEAN | 是否缓变 |
28 | XLS_PID | INTEGER | 安全策略ID |
29 | XLS_COL_NO | INTEGER | 安全策略字段 |
30 | XLS_COL_OPT | INTEGER | 安全字段属性(如:是否隐藏) |
31 | ON_COMMIT_DEL | BOOLEAN | 是否在事务结束时删除数据 |
32 | ENA_TRANS | BOOLEAN | 是否事务支持 |
33 | ENA_LOGGING | BOOLEAN | 是否记redo日志 |
34 | REG_MODIFY | BOOLEAN | 是否记载变更日志 |
35 | VALID | BOOLEAN | 是否有效 |
36 | ACL_MASK | INTEGER | 存取允许掩码 |
37 | AUTO_PARTI_NO | INTEGER | 时段自动分区的扩展基点分区号 |
38 | CREATE_TIME | DATETIME | 创建时间 |
39 | COMMENTS | VARCHAR | 注释信息 |
40 | ANA_POLICY | INTEGER | 分析策略 |
41 | ANA_PERIOD | INTEGER | 分析周期 |
42 | ANA_THRESHOLD | INTEGER | 分析阈值 |
43 | ANA_LEVEL | INTEGER | 采样层级 |
44 | ENCRY_ID | INTEGER | 密钥ID |
45 | ZONE_POLICY | INTEGER | 存储域策略 |
46 | CACHE_HASH_KEY | VARCHAR | HASH缓存键 |
47 | COMPRESS_LEVEL | INTEGER | 压缩等级 |
48 | RESERVED5 | VARCHAR | 保留字段 |
说明:
XLS_COL_NO、ENCRY_ID、ZONE_POLICY、CACHE_HASH_KEY和COMPRESS_LEVEL在较低版本的数据库中不支持,详细信息请联系运维人员获取。
示例
查询表类型
sqlSQL> CREATE TABLE table_info(id INT,name VARCHAR(10)); SQL> SELECT table_name,table_type FROM sys_tables WHERE table_name='TABLE_INFO'; TABLE_NAME | TABLE_TYPE | ------------------------------------------------------------------------------ TABLE_INFO| 0 |
查询表所属库
sqlSQL> SELECT table_name,db_id,db_name FROM sys_tables st JOIN sys_databases sd ON st.db_id=sd.db_id WHERE table_name='TABLE_INFO'; TABLE_NAME | DB_ID | DB_NAME | ------------------------------------------------------------------------------ TABLE_INFO| 1 | SYSTEM|
查询表所属者
sqlSQL> SELECT table_name,user_id,user_name FROM sys_tables st JOIN sys_users su ON st.db_id=su.db_id AND st.user_id=su.user_id WHERE table_name='TABLE_INFO'; TABLE_NAME | USER_ID | USER_NAME | ------------------------------------------------------------------------------ TABLE_INFO| 1 | SYSDBA|
根据库名、模式名分组统计表个数(结果依据库实际情况而定)
sqlSQL> SELECT COUNT(*),db_name,schema_name FROM sys_tables st JOIN sys_databases sd ON st.db_id=sd.db_id JOIN sys_schemas ss ON sd.db_id=ss.db_id GROUP BY db_name,schema_name; EXPR1 | DB_NAME | SCHEMA_NAME | ------------------------------------------------------------------------------ 2 | DB2845| GUEST| 2 | DB2845| SYSAUDITOR| 1 | SYSTEM| GUEST| 1 | SYSTEM| SYSSSO| 2 | DB2845| SYSDBA| 2 | DB2845| SYSSSO| 1 | SYSTEM| SYSDBA| 1 | SYSTEM| SYSAUDITOR|
是否开启变更记载
sqlSQL> SELECT table_name,reg_modify FROM sys_tables WHERE table_name='TABLE_INFO'; TABLE_NAME | REG_MODIFY | ------------------------------------------------------------------------------ TABLE_INFO| <NULL>|
相关系统表
- sys_databases
- sys_schemas