GaussDB
SQL进阶
数据字典
数据字典简介
数据字典是一系列只读的表,用来提供数据库的信息。
数据字典主要包含系统表和系统视图。
系统表是存放结构元数据的地方,是数据库系统运行控制信息的来源,也是核心组成部分。系统视图是提供查询系统表和访问数据库内部状态的方法。
系统表
名称 |
说明 |
Pg_class |
存储数据库中表对象信息 |
Pg_database |
存储系统内数据库对象信息 |
Pg_proc |
存储函数或存储过程的信息 |
Pg_namespace |
存储schema相关信息 |
Pg_authid |
存储用户相关的信息 |
Pg_attribute |
存储关于表子弹的信息 |
Pg_type |
存储数据类型相关的信息 |
Pg_partition |
存储分区表分区相关的信息 |
Pg_tablespace |
存储表空间的相关信息 |
Pg_statistic |
存储有关数据库中表和索引列的统计数据 |
Pgxc_class |
存储每张表的分布信息 |
系统视图
名称 |
说明 |
Pg_locks |
显示各事务所持有锁的信息 |
Pg_views |
显示视图对象相关信息 |
Pg_cursors |
显示游标对象相关信息 |
Pg_settings |
显示GUC参数相关信息 |
Pg_stat_activity |
显示当前CN上的会话信息 |
Pgxc_stat_activity |
显示当前所有CN上的会话信息 |
Pgxc_prepared_xacts |
显示当前处于prepared阶段的两阶段事务 |
Pgxc_thread_wait_status |
显示分布式服务线程之间的等待信息 |
Pgxc_get_table_skewness |
显示分布式数据存储倾斜相关信息 |
Pv_session_memory_detail |
显示当前会话内存上下文使用信息 |
数据类型
数值类型
名称 |
描述 |
存储空间 |
范围 |
TINYINT |
微整数,别名为INT1 |
1字节 |
0——255 |
SMALLINT |
小范围整数,别名为INT2 |
2字节 |
-32768——+32767 |
INTEGER |
常用的整数,别名为INT4 |
4字节 |
-2147483648——+2147483647 |
BINARY_INTEGER |
常用的整数INTEGER的别名 |
4字节 |
-2147483648——+2147483647 |
BIGINT |
大范围的整数,别名为INT8 |
8字节 |
-9223372036854775808——9223372036854775807 |
任意精度性:
名称 |
描述 |
存储空间 |
范围 |
NUMBERIC[(P[,S])], DECIMAL[(P[,S])] |
精度p取值范围为[1,1000],标度s取值范围为[0,p]。其中p为总位数,s为小数位数 |
用户声明精度。每四位(十进制位)占用两个字节,然后在整个数据上加上八个字节的额外开销。 |
未指定精度的情况下,小数点前最大131072位,小数点后最大16383位。 |
NUMBER[(P[,S])] |
NUMBERIC类型的别名 |
用户声明精度。每四位(十进制位)占用两个字节,然后在整个数据上加上八个字节的额外开销。 |
未指定精度的情况下,小数点前最大131072位,小数点后最大16383位。 |
布尔类型
名称 |
存储空间 |
说明 |
表现形式 |
BOOLEAN |
布尔类型 |
1字节 |
True/false/null |
字符类型
日期/时间类型
UUID类型
名称 |
描述 |
UUID |
全局唯一标识符类型 |
列存表支持的数据类型
函数&操作符
逻辑运算符
NOT>AND>OR
比较操作符
操作符 |
描述 |
< |
小于 |
> |
大于 |
<= |
小于或等于 |
>= |
大于或等于 |
= |
等于 |
<>或!= |
不等于 |
字符处理函数
位串操作符
数字操作函数和操作符
时间和日期处理函数
UUID函数
SEQUENCE函数
聚集函数
窗口函数
加密解密函数
查询语句
基本语法
存储函数
声明语法
应用程序开发指导
数据库驱动概念
数据库驱动是应用程序和数据库存储之间的一种接口,数据库厂商为了某一种开发语言环境能够实现数据库调用而开发的类似翻译员功能的程序,将复杂的数据库操作与通信抽象成为了当前开发语言的访问接口
基于ODBC的应用程序开发
系统结构
基础开发规范
分布键选择规范
分布列的列值应比较离散,以便数据能够均匀分布到各个DN。
在没有主键或没有某一列非常离散的情况下,也可以选择多分布列,以保证数据更均匀的分布到各个DN。
在满足上面原则的情况下,考虑选择查询中的连接条件为分布列,以便join任务能够下推到DN中执行,且减少DN之间的通信数据量。
行列表选择规范
GaussDB(DWS)可以指定两种表数据存储方式,即行存或列存。其值为COLUMN,则表的数据将以列式存储;其值为ROW,则表的数据将以行存存储。若不指定,默认值为ROW。
行存储适合OLTP业务,此类型的表上交互事务比较多,一次交互会涉及表中的多个列,用行存查询效率较高。
列存储适合数据仓库业务,此类型的表上会做大量的汇聚计算,且涉及的操作较少。
- 点赞
- 收藏
- 关注作者
评论(0)