GBase 8c Plan Hint
- 在指定行数hint的语法中,#符号表示使用符号后面常量值作为指定的行数;
- 在plan hint中,指定链接名的语法是:blockname(table)
- plan hint的指定形式为:/*+
- 指定行数hint支持绝对值和相对值;
- 用户可用使用plan hint干预语句的执行计划;
- 成本的估算多种因素有关,如扫描方式,关联方式,操作符,成本因子,数据集等等。但并不能一定就能保证选择的执行路径是最好的,例如当表中数据短时间内有大范围修改,但未及时进行ananlyze,可能导致统计信息不准确从而影响执行路径的选择;
- 目前plan hint支持的scan方式
- tablescan
- indexscan
- indexonlyscan
- 暂不支持bitmapindexscan
- PBE的方式执行语句的目的是用来尽量减少SQL硬解析流程,提升效率;
- 对于同一条SQL查询语句多次重复执行,而只是查询条件入参不同,优化器可以利用PBE的方式执行,来减少硬解析流程,提升效率;
- PBE执行方式中的B表示:Bind,表示将入参变量与缓存的执行计划进行绑定的过程;
- plan hint支持的join方式
- Hash Join
- Merge Join
- Nested Join
- 暂不支持Semi Join
GBase 8c 备份恢复
- 逻辑备份关键字:gs_dump;
- 如果只需要导出某张表数据,需要指定的参数是:-t;
- tar归档格式的备份命令:-F t指tar归档格式;
- 导入表定义:create table customer_t1 as select * from customer_t2;
- 使用gs_restore可以恢复的备份文件的格式
- 自定义归档
- 目录归档格式
- tar归档格式
其它
- Explain
- Explain的输出,是查询优化的结果,通常可以帮助运维人员更好的了解语句的执行性能情况;
- 指定了ANALYZE选项,则语句会被真正执行,为了避免对实际数据产生影响,可以将该语句放到一个回滚事务中执行;
- Explain能够分析除了SELECT语句之外的DML操作;
- 常用的审计项
- 用户登录、注销审计
- 数据库启动、停止、恢复、切换审计
- 用户锁定和解锁审计
- 用户访问越权审计
- 授权和回收权限审计
- 具体表的insert、update和delete操作审计
- select操作审计
- copy审计
- 存储过程和自定义函数的执行审计
- set审计
- 数据库对象的create、later、drop操作审计
- 查看用户test被恶意锁定
- 查看审计日志,使用type等于lock_user进行查看
- 查看审计日志,使用object_name等于test进行查看
- 视图
- 分为普通视图以及物化视图
- 当基表数据发生变化后,普通视图中查询出的数据也随之改变
- 物化视图以类表的形式保存结果到实际存储在磁盘中,有效提升查询性能
- 物化视图无法像普通表那样进行数据更新,需要使用REFRESH从基表获取更新数据
- 分布式数据库GBase 8c
- GBase 8c的行存表和列存表可以互相调用;
- GBase 8c的内存引擎完全支持ACID特性,包括严格的持久性和高可用性支持;
- 列存表主要面向OLAP场景设计,例如数据统计报表分析;
- 目前支持行存和列存的互相调用;
- GBase 8c支持弹性伸缩,可以进行在线扩容/缩容的操作,对上层业务无影响;
- GBase 8c的扩容/缩容操作,数据库分布对上层应用无感知;
- GBase 8c支持hash的数据分布策略;
- GBase 8c具备灰度发布的能力,可以在保证业务持续可用的情况下,进行数据库版本升级和功能发布;
- tar归档格式的备份可以用gs_restore命令恢复;
- LightProxy执行计划
- 执行计划只涉及一个DN节点
- 常见于点查、精准查询场景;
- CN可以直接将SQL语句发送到DN执行;
- 打开Select语句的审计功能,需要开启的参数:audit_dml_state_select
- GBase 8c单机版本自动分区功能,使用的关键字是:interval
- 表空间
- 表空间,是一个目录,可以存在多个,里面存储的是它所包含的数据库的各种物理文件;
- 每个表空间可以对应多个Database;
- 通过表空间,管理员可以设置其占用的磁盘空间上限;
- 每张表只能属于一个数据库,也只能对应 到一个Tablespace;
- 在使用DBeaver连接GBase 8c数据库之前,需要修改GBase 8c数据库的password_encryption_type参数,目的是:配置采用的加密算法,默认为1;
- 如果只需要导出schmea1、schmea2,只导出schmea1.table1,需要指定参数
- -n schmea1 -n schmea1 -t schmea1.table1
- GBase 8c行存表进行压缩存储的关键字:compresstype
- varchar(n)
- 表示变长字符串
- 最大存储空间为10MB
- n表示的是字符长度或字节长度
- nvarchar是nvarchar2(n)类型的别名
- GBase 8c安装包解压目录下,script子目录是工具库
- plan hint支持指定行数的hint,表示的是中间结果集的大小;
- GBase 8c拥有多种分布式执行计划,其目的是为了实现分布式架构下性能和资源的最大化利用
- FastQueryShipping在执行过程中,DN节点之间无数据交互,Stream执行计划则相反;
- 修改审计开头不需要重启数据库;
- GBase 8c创建表的时候支持复制 模式;
- GBase 8c行存表可通过关键字compresstype指定压缩算法,compress_lever指定压缩级别;
- 用户具备登录数据库、执行SQL能力,而角色 是一种权限的集合,默认不具备登录数据库、执行SQL能力,在功能定位上,用户是实体,角色是行为。因此不能把两者完全等同;
- gsql 元命令,在格式特征是以不带引号的反斜杠(\)开头
- 功能调试场景 下,建议安装GBase 8c的机器 的CPU最小 配置8核2.0GHz;
- GBase 8c的在线扩容功能,支持任意节点的扩容;
最后修改时间:2023-04-06 10:21:14
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。