GBase 8c 基础语法
- 序列
- 同一个schema下,序列名与数据表名不允许相同;
- 可以在数据表中使用序列整数定义字段,此时由数据库在后台自动创建一个对应的Sequence对象;
- 序列常被用作主键的原因是它具有自增功能,具备唯一标识性;
- GBase 8c中,有两种创建序列的方式,一种是使用序列整数类型,另一种是使用序列对象;
- GBase 8c 自带的表空间
- pg_default
- pg_global
- 不同的模式下,创建的数据表等数据库对象的名称可以相同;
- 在使用create synonym创建同义词时,如果所关联的数据库对象可以不存在;
- 创建database时,可以对连接数进行限制,而创建schema时不能;
- 物化视图以类表的形式保存结果,但无法像普通表那样进行数据更新,需要使用refresh从基表获取更新数据;
- INT16类型不支持用于建表操作;
- select to_char(3148.5,‘9G999D999’) as result;的执行结果是:
- 3,148.500
- 9表示数位,拖尾使用0表示,G表示分组(逗号),D表示小数点(.);
- select to_char(interval ‘15h 2m 12s’,‘HH:MI:SS’) as result;的执行结果是:
- 03:02:12
- HH表示天的小时数(01-12小时制),SS表示秒(00-59),因此结果为03:03:12;
- 占用16个字节的数据类型
- Interval day(i) to second§
- int16
- bigserial占用8字节
- time [§] [with time zone]占用12字节
GBase 8c 高级语法
- GBase 8c 行存表压缩,compress_level参数取值范围:-31~31,默认值为0;
- GBase 8c 使用create table创建表时,不指定参数,默认是 astore,行存表;
- GBase 8c在不指定时,默认使用Hash分片策略;
- GBase 8c在不指定分布键时,默认使用hash分片,第一个满足hash算法的字段作为分布式键;
- GBase 8c创建内存表
- create foreign table test_astore_mot(col int) server mot_server;
- create foreign table test_astore_mot(col int);
- GBase 8c支持hash,B-tree,gist,gin四种索引类型;
GBase 8c 安全特性
- 密码复杂度开关参数:password_policy;
- 授权关键字revoke;
- 如果需要打开update语句的审计功能,需要开启参数:audit_dml_state;
- 关闭select语句的审计功能的设置
- audit_enabled=off
- audit_system_object=0
- 密码不可重用的天数的参数:password_reuse_time;
GBase 8c 分布式执行计划
- GBase 8c 的分布式执行计划
- FQS(Fast Query Shipping)执行过程中,不同DN节点间无数据交互;
- LightProxy执行计划适用于点查、精准查询场景;
- Stream执行计划的gather算子,发生在CN节点上;
- DN节点上的producer,将扫描到的所有数据,会广播或重分布到所有consumer(本DN节点和其他DN节点);
- 当broadcast与redistribute均能实现查询的一个Streame执行计划中,在优化器选择执行路径 倾向于将小表做广播,大表做重分布,以达到减少数据传输量,降低资源消耗的目的;
- 关于Stream执行计划与FQS(Fast Query Shipping)执行计划最大的不同是:Fast Query Shipping在执行过程中,DN节点之间无数据交互,Stream执行计划则相反;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。