如何用word制作国庆手抄报
1115
2022-05-29
3 数据库功能
3.1 表和索引
3.1.1 表的存储:segemnt和extent
(1)Segment对应一个表或索引,如果分区,则对应一个最小分区。
(2)Extent是一段连续的磁盘空间,当Segment没有空闲空间时,向表空间申请一个空闲的extent。
(3)Extent的默认大小为64K,使用大的extent可以提升全表扫描的效率。930版本支持动态extent。
3.1.2 表的存储:Page
页由Page head、tail校检码、row dir、row组成。
Ø Page head:页面ID、Last SCN、size、ITL count、extent链表前驱和后驱节点。
Ø Page tail:CRC校检码,用于完整性校检
Ø Row directory:Slot偏移地址字典,可以通过slot id查找slot在页中的位置。
Ø Row:数据行,对应表中的一条数据。
Rowid = File ID + Page ID + Slot ID,通过Rowid可以定位到一行数据。
3.1.3 表的分类
表的类型
类型说明
样例
普通表(Heap)
数据全局可见,存储在普通表空间,支持分区和lob类型
会话级全局临时表
数据会话级可见,存储在temp表空间,不支持分区和lob类型
create global temporary table t1
(
sql_id varchar(100) primary key,
sql_text varchar(1000)
)
on commit preserve rows
事务级全局临时表
数据事务级可见,存储在temp表空间,不支持分区和lob类型
create global temporary table t2
(
sql_id varchar(100) primary key,
sql_text varchar(1000)
)
on commit delete rows
本地临时表
表结构会话级可见,存储在temp表空间,不支持分区和lob类型,表名必须以#为前缀
create temporary table #t3
(
sql_id varchar(100) primary key,
sql_text varchar(1000)
)
Nologging表
数据全局可见,存储在temp2空间,支持分区和lob类型
create table t4
(
sql_id varchar(100) primary key,
sql_text varchar(1000)
)
nologging
3.1.4 B树索引的结构
Ø 只支持B-Tree索引,不支持Hash、位图等其他类型的索引
Ø 树的顶层是根页,根页面存放下一层每个树枝节点的最小key值
Ø Key的顺序为升序,页面内升序搜索使用二分查找
Ø 树干节点的每个key值保存指向下层节点的指针(page id)
Ø 叶子节点每个key值存放指向数据行的指针(row id),所有key都保存索引字段值
Ø 扫描到叶子层后的横向扫描,是为了支持范围扫描
Ø 与Oracle不同,高斯的B-Tree索引中包含key为null的数据
3.2 常用数据库对象
对象
使用限制
比Oracle多的能力
表
1.索引列的定义长度最大为3900字节
2.不支持二级分区
3.不支持分区的合并、置换等高级能力
4.varchar最大长度是8000字节
1.不仅支持序列,还支持自增列
2.支持MySQL的二级制类型binary、varbinary和longblob
3.支持bool类型
4.支持数组、JSON类型
触发器
1.不支持语法referenceing new as new
1.支持在会话级disable所有触发器
存储过程
1.不支持自定义类型、hash表
2.930版本开始支持package
NA
视图
1.不支持对视图做DML操作
NA
序列
NA
NA
Job
1.不支持修改Job的内容,需要重建
NA
时区
1.只支持数字形式时区'+12:00'
NA
咨询锁
NA
1.不仅支持会话级,还支持事务级咨询锁
2.支持排他和共享咨询锁
同义词
NA
NA
3.3 常用系统函数&操作符
参见<<开发者指南>>。
3.4 常用高级包
包名
描述
DBMS_DEBUG
用于对存储过程(含自定义函数,触发器)的运行过程调试。
DBMS_LOB
用于处理LOB类型数据。
DBMS_LOCK
用于提供锁管理服务。
DBMS_JOB
用于执行定时任务功能。
DBMS_OUTPUT
用于调试存储过程、函数,或者在zsql命令中显示信息。
DBMS_RAFT
用于GS-Paxos主备维护的包。
DBMS_RANDOM
提供的内置随机数生成器,用于生成随机的数字、字符。
DBMS_SQL
用于执行SQL语句的包。
DBMS_STANDARD
标准包,用于事务管理、异常处理。
DBMS_STATS
用于优化统计的包。
DBMS_UTILITY
用于数据类型处理和计算的包。
3.5 常用性能视图
3.5.1 实例
视图名
视图说明
别名
DV_SYS_STATS
实例级性能数据的累计值,包括SQL的每个步骤的执行时间、产生的redo、逻辑读、物理读等数据。
V$SYSSTAT
DV_SYS_EVENTS
实例级等待事件的累计值,等待事件是重要的性能指标,一段时间的Top 等待时间反映了该时间段的性能瓶颈
V$SYSTEM_EVENT
DV_SYSTEM
当前操作系统的CPU/MEM使用情况,该数据直接从操作系统读取,包括CPU使用和虚拟内存换入换出的累计值
V$SYSTEM
DV_WAIT_STATS
data buffer 中各类型的block的等待,对应buffer busy wait等待事件
V$WAITSTAT
3.5.2 内存
视图名
视图说明
别名
DV_BUFFER_POOL_STATS
当前BUFFER_POOL的使用统计情况,显示空闲页、常驻页、脏页等数量
V$BUFFER_POOL_STATISTICS
DV_GMA
当前申请的内存信息,高斯内存是预分配,和配置的参数一致
V$SGA
DV_GMA_STATS
当前SGA内存的统计项,包括shared pool和large pool的详细统计
V$SGASTAT
DV_DC_POOLS
当前DC池的情况
V$DC_POOL
DV_PL_MANAGER
存储过程加载到内存的情况
V$PL_MANAGER
DV_LIBRARY_CACHE
共享池中SQL语句的管理信息
V$LIBRARYCACHE
DV_TEMP_POOLS
当前TEMP_POOL的分配情况
V$TEMP_POOL
DV_VM_FUNC_STACK
未释放VM申请时的函数堆栈信息,当系统发生疑似VM泄露时,可以配置_MAX_VM_FUNC_STACK_COUNT,启动该视图能力
V$VM_FUNC_STACK
3.5.3 会话、连接和事务
视图名
视图说明
别名
DV_SESSIONS
当前所有的会话情况
V$SESSION
DV_SESSION_EVENTS
会话的所有的等待事件
V$SESSION_EVENT
DV_SESSION_WAITS
会话当前的等待事件
V$SESSION_WAIT
DV_OPEN_CURSOR
当前打开的游标状态
V$OPEN_CURSOR
DV_REACTOR_POOLS
连接池和对应工作线程池信息
V$REACTOR_POOL
DV_SPINLOCKS
当前所有会话对SPINLOCK的使用情况,spin_lock是自旋锁,锁住的语句太长开销比较大 一般是控制一个结构体变量在修改时不被别人修改
V$SPINLOCK
DV_TRANSACTIONS
当前的事务信息
V$TRANSACTION
3.5.4 SQL
视图名
视图说明
别名
DV_SQLS
SQL的DML语句执行情况
V$SQLAREA
DV_SQL_POOL
当前系统SQLPOOL使用情况
V$SQLPOOL
DV_LONG_SQL
长SQL的日志
V$LONGSQL
3.5.5 锁
视图名
视图说明
别名
DV_LOCKS
当前锁资源情况
V$LOCK
DV_LOCKED_OBJECTS
锁对象的信息
V$LOCKED_OBJECT
DV_USER_ADVISORY_LOCKS
使用中的会话级咨询锁信息
V$USER_ADVISORY_LOCKS
DV_LATCH
当前结构锁的使用情况,latch一般是结构锁,有共享锁,排他锁之分,粒度大
V$LATCH
3.5.6 Segment
视图名
视图说明
别名
DV_SEGMENT_STATS
数据库中的heap和index等对象的使用情况
V$SEGMENT_STATISTICS
DV_UNDO_SEGMENTS
undo segment队列的实时状态信息
V$UNDO_SEGMENT
DV_TEMP_UNDO_SEGMENT
所有temp undo segment队列的实时状态信息
V$TEMP_UNDO_SEGMENT
3.5.7 HA
视图名
视图说明
别名
DV_ARCHIVE_GAPS
备用数据库上的存档间隙的信息
V$ARCHIVE_GAP
3.6 常用SQL语法
参见<<开发者指南>>。
4 应用开发
4.1 用户表空间和schema
Ø 表空间EXTENTS参数
一个extent里包含的页面数。不指定EXTENTS时,默认一个extent包含8个页面。
增大单个extent的页面数量可以提高IO性能,但如果表空间下存在小表(数据量未达到一个extent大小),会导致空间浪费。
说明:930版本会实现动态extent,那么就不用设置该参数了。
Ø 表空间AUTOEXTEND
如果使用自动扩展,对大批量的insert会有一定程度的性能损失,如果对性能要求很高,建议不使用自动扩展。
Ø ALL-IN-MEMORY表空间
默认表空间都是页面通过databuff的hash寻址方式访问,带页面淘汰和加载的机制;内存表空间为了加速访问,把数据全部pin在内存不进行盘交换,并且使用pageid进行基于偏移的直接寻址。除系统表空间之外的所有表空间在创建时都支持指定ALL-IN-MEMORY属性。
Ø schema默认表空间
创建schema要指定默认表空间,schema和表空间最好一一对应,方便按照表空间物理备份,不强制要求。
技术建议:
1.EXTENT对IO影响非常大,如果使用的版本未实现动态EXTENT,建议调大表的EXTENT。
2. AUTOEXTEND对大批量的INSERT会有一定程度的性能损失,建议提前扩展好。
3.内存表需要指定ALL-IN-MEMORY表空间。
4.禁止使用SYSTEM表空间保存业务对象。
4.2 表的设计
4.2.1 表的设计一般原则
设计点
建议方案
可能产生的问题
单表(非分区表)的规模
数据量<5000万,空间占用<100G
表过大会导致数据非常离散,根据索引扫描数据时物理读高,并且索引的层高也会变大
表/分区的数量
总数量<10万
Segment过多会产生大量的统计信息,系统表空间会增大,同时share pool的DC占用也会变多,buffer pool需要保存Segment头,内存消耗会增大
约束
唯一、非空约束由数据库约束保证
如果由业务保证唯一和非空约束比较麻烦,容易产生垃圾数据
列的类型
1.时间类型用日期类型,不要使用字符串
2.长字符串使用clob,而不要用varchar
时间类型使用字符串占用的空间多,处理也容易出错;列中包括长字符串容易出现行迁移和行链接
列的个数和长度
个数<200,行长度<8000字节
列过长容易出现行迁移和行链接,并且每个数据只能保留几条数据,索引扫描的效率会比较低
Extent的大小
当前还不支持动态extent,对于大表,Extent设置为1M或8M
默认extent是64K,对大表做全表扫描时IO效率低,增大extent,一次IO可以扫描更多的数据块,减少IO次数
数据的更新
避免数据更新后变长,避免大量并发更新同一个数据块,避免对索引列的大量更新
如果把数据更新后变长,容易出现行迁移和ITL等待,需要调大PCTFREE;并发更新同一个数据块可能产生大量的buffer busy wait等待;大量更新索引列也会产生大量空块和索引倾斜,update效率也会降低
数据的删除
大批量数据的删除使用删除分区的方式,而不要用delete的方式
如果使用delete方式删除大量数据,不仅效率低,而且可能导致索引产生大量空块和索引倾斜的问题
4.2.2 分区的设计
分区类型
类型说明
适用场景
示例
Range
用户创建分区,分区键大小从小到大,不能往中间插入新分区,分区键一般是date或number类型
适用日志、流水类大表,需要根据时间删除历史数据
CREATE TABLE WSR$_LONGSQL1
(
SNAP_ID BINARY_INTEGER NOT NULL,
CTIME DATE
)
PARTITION BY RANGE(SNAP_ID)
(PARTITION P_0 VALUES LESS THAN (1))
Interval
用户只需要设定分区间隔和初始分区键值,根据插入的数据自动生成对应的分区,分区键一般是date或number类型
同Range分区,比Range分区使用更方便,用户不用提前创建分区,并且可以有数据时再创建分区而不用创建空分区
CREATE TABLE WSR$_LONGSQL2
(
SNAP_ID BINARY_INTEGER NOT NULL,
CTIME DATE
)
PARTITION BY RANGE(SNAP_ID) INTERVAL(1)
(PARTITION P_0 VALUES LESS THAN (1))
List
分区键是离散值,分区需要用户创建
适用在分区键是离散值的场景
CREATE TABLE WSR$_LONGSQL3
(
SNAP_ID BINARY_INTEGER NOT NULL,
CTIME DATE
)
PARTITION BY LIST (SNAP_ID)
(PARTITION P_0 VALUES (1))
Hash
用户设定分区键和分区数,可以自动生成分区,插入数据时根据hash算法选择对应的分区
适用于分区键取值非常多的场景,一般用于把数据隔离开,而不是为了根据分区删除数据,使用hash分区减少buffer busy wait的等待
CREATE TABLE WSR$_LONGSQL4
(
SNAP_ID BINARY_INTEGER NOT NULL,
CTIME DATE
)
PARTITION BY HASH (SNAP_ID) PARTITIONS 16
4.2.3 索引的设计原则
设计原则
说明
分区表不要创建全局索引
分区表一般创建本地索引(使用local关键字)。如果创建了全局索引,当删除分区时会导致索引失效
不要创建无用的索引
索引会降低DML语句的性能,所以不要创建无用的索引
不要创建冗余的索引
例如下面两个索引,如果在userid, playlistid上创建了索引,就没有必要在userid上创建一个索引。
create index ix_ums_playcontentlist_userid on t_ums_userplaycontentlist (userid)
create index ix_ums_playcontentlist_id on t_ums_userplaycontentlist (userid, playlistid)
索引的key不宜过长
如果索引key过长,会导致索引树高度很大,索引查询效率会降低。对于组合索引,索引的列不宜过多。不要把长字符串列作为索引列,例如描述字段。
组合索引,要把高选择度的列放在前面
如下例所示,useraccount选择度远高于accounttype,所以应该把useraccount作为索引的首列,这样当查询条件中有useraccount而没有accounttype时仍能高效的使用索引。
create index ix_ums_usrordlib_account_type on t_ums_userorderlib (useraccount,accounttype)
当需要对大数据量排序时,可以通过创建索引来避免排序
场景:分页查询需要查询歌曲(总数100万),没有查询条件,查询结果需要按照musicname排序,实际绝大部分的查询是前几页。
解决方案:在musicname创建索引,通过索引全扫描来避免排序,只要不是查询的数据非常靠后,效率就很高
一般不在选择率很低的列上创建索引
一般不在状态,用户类型这种取值很少的列上创建索引。但是,有些场景却可以创建这种索引。例如,当需要查询的那部分的取值在数据中的比例很低时或者使用rownum限制了每次只查询出一小批数据。总的原则是,只要一次查询的数据在数据中的比例非常小,那么就适合使用索引。这里之所以说“一次查询”,是因为符合条件的数据可能很多,但是可能使用rownum限制了每次只查100条。
如果where语句中不得不对查询列采用函数查询,如upper函数,需要建立相应函数索引
如果查询条件在列上使用了函数,那么直接在列上创建的索引是无法使用的,必须创建对应的函数索引。如下例所示。
create index ix_auditionauthlog_tonename on t_ums_auditionauthlog(upper(tonename))
tablespace ringidx
4.2.4 表结构的修改
支持在线重建索引和修改表结构。索引的创建和重建当前不支持并行。
技术建议:
1.表和索引的设计对系统的性能非常关键,需要使用者理解存储结构和设计原则。
2.索引的设计一定要根据查询需求来设计。
3.分区是非常重要的特性,合理的使用分区可以大幅提升性能。
4.3 应用框架
Ø 兼容主流java连接池和Java框架
java连接池:c3p0、dbcp、druid;兼容hibenate、ibatis和mybatis。
Ø hibenate方言
选择Oracle方言:org.hibernate.dialect.OracleDialect。
4.4 数据库接口
支持C-API,JDBC,ODBC,PYTHON和GO客户端接口。
4.5 读写分离
JDBC支持多DN的读写分离,当URL中配置多DN时,可以通过URL中的属性标示来区分JDBC返回的连接是否是区分主机和备机。
Ø 配置支持多DN读写分离
连接串格式: jdbc:zenith:rw:@{ip:port }[ , ... ][?useRW={false|true}]
连接串支持指定多个DN的ip,由“,”分割,连接串中一定全部为DN节点。
当useRW属性配置为true时,则JDBC返回的连接可以是连接主机的也可以是连接备机的连接;当useRW为false时,则JDBC返回的连接只能是主机的连接。
技术建议:
1.对于非强一致性的查询,建议读备机,减轻主机的压力。
4.6 SQL
4.6.1 使用批量绑定接口
Ø 尽量避免逐条commit
高并发逐条commit会产生大量的log file sync等待,对性能影响较大。
Ø 使用绑定变量
当前不支持cursor sharing,如果不使用绑定变量,会产生大量的硬解析。
避免使用过多的绑定变量,不推荐insert语句使用几千个value的写法。
4.6.2 返回大数据量的分批处理
如果查询结果返回很多数据,设置fetch_size非常重要,如果fetch_size过小会导致交互次数多、查询效率低;如果fetch_size过大或者全部返回,客户端程序的内存可能会撑爆。
这个特性非常重要,应用程序在返回大数据量结果集时就不要分批查询了,只要合理的设置fetch_size就可以一次查询所有数据了,由数据库分批fetch。
高斯默认的fetch_size是100,可以在语句级修改,如果结果集较大,建议修改为1000以上。
Ø JDBC接口
java.sql.PreparedStatement.setFetchSize(int)
技术建议:
1.大批量的DML语句,建议使用批量绑定方式。
2.对于返回大结果集的查询,建议通过fetch_size分批处理,不建议业务分页查询。
3.不建议一个SQL过长或过于复杂。
4.7 提示(hint)
类型
提示名
使用说明
连接顺序
leading
指定某个表为驱动表,例如leading(a)
ordered
多表连接时指定表的连接顺序,按照from后面表的顺序连接,没有参数
连接方式
use_nl
指定表的连接方式为嵌套循环,例如use_nl(a b),括号内顺序不重要,括号内支持多个表
use_hash
指定表的连接方式为哈希连接,例如use_hash(a b),括号内顺序不重要,括号内支持多个表
访问路径
full
指定对某个表全表扫描,例如full(a)
index
指定对某个表使用索引扫描,按照索引的排序方式,默认正序,例如index(a 索引名)
其他
rule
指定使用RBO优化器,不能有分区表等高级特性,不能和其他提示一起使用。
技术建议:
1.提示是基于RBO的,加了提示会自动变成RBO,所以加提示要慎重,要加全套提示。
5 运维与工具
5.1 数据库管理(DM)
Database Manager是一款基于Web的数据库监控工具,提供丰富的界面展示,可有效监
控多个集群数据库。通过管理员用户和普通用户区分查看和操作权限,对集群数据库
进行安全的监控和运维操作。
Database Manager提供的主要功能包括(但不限于):
Ø 安装集群
Ø 导入并监控集群
Ø 集群、主机和实例运行监控
Ø 数据库运行监控
Ø 故障诊断分析和上报
Ø 告警分析和上报
Ø 用户管理
Ø 查询监控和TOP查询取消
Ø 巡检
5.2 集群管理(CM)
GAUSS100 OLTP CM模块主要针对分布式数据库集群进行系统管理,整个框架包括对外命令、内部的逻辑仲裁、CM与ETCD的交互以及ETCD V3分布式数据管理。
CM模块各部分功能介绍:
(1)对外命令:该部分主要包括集群管理各种场景所需要的命令行参数,可供用户根据需要手动或者自动化执行所需场景功能,第二章针对各个命令会详细介绍,这里不做赘述。
(2)逻辑仲裁:该部分主要通过主备成员关系一致性仲裁,主备倒换(switchover/failover)自动化来维护主备副本间关系,凡是涉及数据库节点的异常处理,都需要经过数据库仲裁逻辑统一进行数据库仲裁判决谁是主。
(3)CM模块与ETCD交互:该部分主要介绍CM模块与ETCD如何交互,主要是指数据的交互,分布式数据主要存储在ETCD中,通过watch机制监控,CM向ETCD订阅相关数据,同时CM也可以修改并操作ETCD中的数据。
(4)CM内部ETCD数据管理:该部分主要涉及ETCD的相关知识点,重点介绍在CM模块内部ETCD是如何管理分布式数据的。
5.3 备份恢复
Ø 备份方式、级别
① 支持物理备份
通过复制物理文件的方式对数据库进行备份,以磁盘块为基本单位将数据从主机复制到备机,每次备份数据都是以一个扇区(512 Byte)为单位来进行备份。通过备份的数据文件及归档日志等文件,数据库可以进行完全恢复。物理备份速度快,一般被用作对数据进行备份和恢复,用于全量备份的场景。通过合理规划,可以低成本进行备份与恢复
② 支持全量备份
对某一时间点上的所有数据进行完全复制,并不依赖文件的“存档”属性来确定需要备份哪些文件,在备份过程中会清除所有文档的“存档”属性。这种备份方式的优点是只要用磁带,就可以恢复丢失的数据,因此极大的加快了系统或数据的恢复时间。它的缺点在于各个全量备份磁带中的备份数据存在大量的重复信息。另外,由于每次需要备份的数据量相当大,因此备份所需时间较长。
③ 支持多级增量备份
增量备份是相对于上一次备份而言的一种备份。
通过BACKUP命令进行增量备份时,它备份上一次备份后(包含全量备份、差异增量备份、累积增量备份),所有发生变化的文件。这种备份方式最显著的优点:没有重复的备份数据,因此备份的数据量不大,备份所需的时间较短。但增量备份的数据恢复比较麻烦,必须具有上一次全备份和所有增量备份磁带(一旦丢失或损坏其中的磁带,就会造成恢复的失败),并且必须沿着从全备份到依次增量备份的时间顺序逐个反推恢复,这就极大地延长了恢复时间。增量备份只支持通过BACKUP命令完成。
Ø 备份支持压缩、并行、切分
① 压缩
在备份存储空间有限或者网络备份带宽有限的场景下,需要减小备份集大小,降低资源占用;备份时对备份集进行压缩,可一定程度上减小备份集大小。GaussDB 100支持zstd,lz4和zlib压缩算法对备份集进行压缩。压缩备份时可以指定压缩级别,取值范围为[1, 9],级别越高,压缩率越高,但速度也越慢,默认压缩级别为1。
② 并行、切分
当备份介质为磁盘时,可以开启多个并发线程进行备份,以提高备份速度。并发个数取值是[1, 8]范围内的整数。不指定并发数量时,将默认启动4个并发线程。并行备份时,可指定数据文件的切分阈值,合适的切分阈值可以有效提高并行备份效率。
Ø 支持PITR、指定方案(schema)恢复
① PITR(Point In Time Recovery)
基于时间点的恢复。依据物理备份文件加上Redo日志文件,恢复数据库到指定时间点。
通过备份集可以恢复到备份的时间点;如果备份之后产生的归档日志存在,通过继续回放归档日志,可以恢复到备份之后的时间点。
② 恢复指定schema
为了便于数据维护,可以将不同业务的数据使用不同的方案(schema)存储在数据库中,并且每个方案(schema)独立使用一个表空间。如果只有一个方案(schema)的数据损坏并需要修复,则可以通过工具ztrst实现基于全量备份文件只恢复指定方案(schema)的数据,加快恢复速度。
5.4 逻辑导入导出
5.4.1 dump/load
支持对单表的导出和导入,格式是CSV。
支持指定行列分隔符,支持多分隔符,导入支持并行。
5.4.2 exp/imp
Ø 导出格式
支持导出SQL文本和二进制方式,后者支持并行和压缩。
Ø 导出对象
支持按照用户、表、过滤条件导出数据。
支持只导出对象定义。
Ø 导入对象
导入可以转换表空间和用户名。
5.5 全量割接工具(datasync)
DataSync是GaussDB 100的数据迁移工具,致力于实现其他商业数据库向GaussDB 100高效、安全的数据同步。支持将Sybase、Oracle、MySQL、GaussDB 100 V100R003C10和SQL Server的数据迁移至GaussDB 100 V300R001数据库。
DataSync通过JDBC方式将数据导出为CSV格式,支持数据的导出、导入以及导出+导入。支持自动创建动态表、校验表结构以及使用触发器实现增量割接的能力。
5.6 逻辑复制(HDR)
支持异构数据库之间解析增量日志实现逻辑复制,支持双活。
5.7 图像化开发工具(DS)
Data Studio是一款GUI工具,可以通过它来连接数据库,调试执行SQL语句和存储过程。它支持GaussDB 100的基本特性,为数据库开发人员提供图形界面,显著提高构建应用程序的效率,并简化数据库开发及应用开发任务。
Data Studio主要为数据库开发人员提供以下功能:
浏览数据库对象。
创建和管理数据库对象(例如:数据库、user、表、索引)。
执行SQL语句和SQL脚本。
编辑和执行PL/SQL语句。
Data Studio的具体使用方法请参见随工具配套发布的《Data Studio用户手册》。
5.8 版本升级
支持一键式升级工具,目前还不支持滚动升级和热补丁。
5.9 SQL MAP
支持在线替换指定SQL的能力,用于规避性能问题。
--打开SQL映射功能开关。
ALTER SYSTEM SET enable_sql_map = true;
--创建一个SQL映射。
ALTER SQL_MAP (select count(*) from SYS_DUMMY) REWRITE TO (select count(1) as cnt from SYS_DUMMY);
--输入源SQL语句,实际上会映射成目标SQL语句来执行。
select count(*) from SYS_DUMMY;
CNT
--------------------
1
1 rows fetched.
5.10 性能分析工具
Ø WSR报告
Ø LongSQL日志或视图
Ø 性能视图
前面已经做过介绍,详情参考版本资料。
6 总结
本文系统的介绍了GaussDB 100HA架构的能力以及使用建议,可以指导用户快速的熟悉数据库。由于产品功能还在不断开发中,文中的描述可能跟实际有不一致的情况,需要获取对应版本的技术建议书。由于时间仓促,内容有限,文中内容难免会有疏漏错误,欢迎读者指正。
GaussDB
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。