GaussDB

举报
Frederic 发表于 2021/05/17 14:29:23 2021/05/17
【摘要】 SQL进阶

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业务,此类型的表上交互事务比较多,一次交互会涉及表中的多个列,用行存查询效率较高。

列存储适合数据仓库业务,此类型的表上会做大量的汇聚计算,且涉及的操作较少。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。