DM8 SQL语句优化

1.SQL语句的执行过程

在客户端执行SELECT语句时,
1、客户端会把这条SQL语句发送给服务器端,由服务器端进程来处理该条语句。
即,数据库客户端是不会做任何其他操作。
2、服务器进程对该语句进行解析,主要通过以下步骤完成

查询库缓存区
服务器进程接收到SQL语句后,会先在数据库的高速缓存中查找是否存在相同语句的执行计划,若存在,则直接执行该SQL语句。
采用高速数据缓存可提高SQL语句的查询效率。优点:
① 从内存中读取数据要比从硬盘的数据文件中读取数据效率更高。
② 解析语句也需要时间。
语句合法性检查
在高速缓存中找不到对应的SQL语句时,服务器进程会检查该条语句的合法性。即语法上的检查。
语言含义检查
若SQL语句符合语法上的定义,服务器进程则会进一步对该语句中的字段、表等内容进行检查。即查看表、字段等是否在数据库中存在。
获得对象解析锁
当语法、语义均没问题后,系统会对需要查询的对象加锁。主要是为了保障数据的一致性,防止在查询过程中其他用户对该对象的结构做出修改。
数据访问权限的核对
以上操作均无问题后,服务器会检查连接的用户是否有权限访问该数据。
确定最佳执行计划
以上操作均无问题后,服务器进程会根据一定的规则,对该条语句进行优化。该优化是有限的。一般在应用软件开发过程中,需要对数据库的SQL语言进行优化,这个优化的作用远大于服务器进程的自我优化。
当服务器进程的优化器确定该条查询语句的最佳执行计划后,会将该条SQL语句和执行计划保存在高速缓存(Library Cache)中。

3、语句执行
SQL语句的执行分两种情况:
一是:所需的数据已在数据缓冲区,服务器进程直接将数据传递给客户端。
二是:所需数据不在缓冲区中,服务器进程则将从数据文件中查询相关数据,并将其放入数据缓冲区。
4、提取数据
SQL语句执行完成后,查询到的数据还是在服务器进程中,没被传送到客户端的用户进程中。因此,在服务器进程中,有一段专门负责数据提取的代码。作用就是将查询到的数据结果返回给客户端进程,从而完成整个查询操作。

一条SQL语句的具体执行过程,如下图所示:
在这里插入图片描述

在DM8内部,当将一条语句提交到数据库中后,SQL引擎分三个步骤对其进行处理和执行:解析(parse)、执行(execute)和获取(fetch)。分别由SQL引擎的不同组件完成。
SQL引擎结构如下图:
在这里插入图片描述

1.1 SQL编译器(SQL Compiler)
将语句编译到一个共享游标中。
由解析器(parser)、查询优化器(query optimizer)、行源生成器(row source generator)组成
1.1.1 解析器
用于分析SQL语句的语法、语义,并将查询中的视图展开、划分为小的查询块。
1.1.2 查询优化器
由查询转换器(Query Transform)、代价估算器(Cost Estimator)和计划生成器(Plan Generator)组成。
1.1.2.1 查询转换器:
查询转换指把经过语法、语义分析的查询块之间的连接类型、嵌套关系进行调整,生成一个更好地查询计划。
常用的查询转换技术包括过滤条件的下放、相关子查询的去相关性。
过滤条件下放:在连接查询中,把部分表的过滤条件下移,在连接之前先过滤,可以减少连接操作的数据量,提升语句性能。
相关子查询的去相关性:采用半连接的方式执行与子查询相关的外表和内表,放弃默认采取的嵌套连接方式,对性能有较大的提升。
查询转换器决定是否重写用户的查询(包括视图合并、子查询反嵌套),以生成更好地查询计划。
1.1.2.2 代价估算器:
使用统计数据来估算操作的选择率(Selectivity),返回数据集的势(Cardinality)和代价,并最终估算出整个执行计划的代价。
选择率:指满足条件的记录数占总记录数的百分比。选择率与查询谓词相关,与谓词的连接相关。一个谓词可以看作一个过滤器,过滤掉结果集中不满足条件的记录。
如果没有统计信息,优化器会依据过滤条件的类型来设置对应的选择率。
如果有统计信息,可以使用统计信息来估算选择率。例如,对于等值谓词,如果name列有N个不同值,选择率是1/N。
基数:指整个行集的行数。
代价:表示资源的使用情况。查询优化器使用磁盘I/O、CPU占用和内存使用情况作为代价计算的依据。
访问路径决定了从一个基表中获取数据所需要的代价。
连接代价:指访问两个连接的结果集代价与连接操作的代价之和。

1.1.2.3 计划生成器:
考虑可能的访问路径(Access Path)、关联方法和关联顺序,生成不同的执行计划,让查询优化器从这些计划中选择出一个代价最小的计划。
数据访问路径,指从数据库中检索数据的方法。例如:全表扫描、索引扫描(聚簇索引扫描和二级索引扫描)。

查询优化器通过分析可用的执行方式和查询所涉及的对象统计信息来生成最优的执行计划。如果存在HINT优化提示,优化器还需考虑优化提示的因素。

查询优化器的处理过程包含是三个步骤:
1、 优化器生成所有可能的执行计划集合
2、 优化器基于字典信息的数据分布统计值、执行语句涉及的表、索引和分区的存储特点来估算每个执行计划的代价。
代价:指SQL语句使用某种执行方式所消耗的系统资源的估算值。其中,系统资源消耗包括I/O、CPU使用情况、内存消耗等。
3、 优化器选择代价最小的执行方式作为该条语句的最终执行计划。

影响优化器选择访问路径的因素:语句中的提示(HINT)和统计信息。

用户可在执行语句中使用HINT来指定访问路径
统计信息会根据表中的数据分布情况决定采用哪个访问路径会产生最小的代价。

注意:上述查询优化器实际上指的是基于代价的优化器(Cost Based Optimizer,CBO),CBO也是当前采用的所有优化技术和调优技术的核心基础。
1.1.3 行源生成器
从查询优化器接收到优化的执行计划后,为该计划生成行源(row source)。
行源是一个可被迭代控制的结构体,能以迭代方式处理并生成一组数据行。
1.2 SQL执行引擎(SQL Execution Engine)
依照语句的执行计划进行操作,产生查询结果。
在每个操作中,SQL执行引擎会以迭代的方式执行行源,生成数据行。

2.执行计划

利用执行计划定位高负载或不合理的SQL语句等影响性能的问题,通过创建索引、修改SQL语句等操作来提高SQL语句的执行效率。
能够看懂执行计划是SQL语句优化的先决条件。

执行计划指对SQL语句在数据库中的执行过程或访问路径的描述。

2.1 执行计划查看
在SQL命令中,使用EXPLAIN语句可打印出语句的执行计划。
在这里插入图片描述
在这里插入图片描述

该计划的大致执行流程:
(1) CSCN2:扫描T2表的聚集索引,数据传递给父节点索引连接。
(2) NEST LOOP INDEX JOIN2:当左子节点有数据返回时,取右侧数据。
(3) SSEK2:利用T2表当前的D1值作为二级索引IDX_T1_C1定位查找的键,返回结果给父节点。
(4) NEST LOOP INDEX JOIN2:若右子节点有数据,则将结果传递给父节点PRJT2,否则继续去左子节点的下一条记录。
(5) PRJT2:计算表达式C1+1和D2的值。
(6) NSET2:输出最后结果
(7) 重复过程(1)~(4)直至左侧的CSCN2数据全部取完。

查看v$sql_node_name动态视图可查看执行计划的常用操作符。
如AAGR2表示简单聚集,CSCN2表示聚集索引扫描。

3.统计信息

统计信息主要是描述DM8中I/O读写速度等系统处理能力,以及表、索引等对象的大小、规模和数据分布状况的一类信息。
数据库系统收集相关统计信息的过程也叫动态采样分析。

在代价估算中,优化器根据系统处理能力、对象的大小以及需要读取的数据量等信息,估算语句从相关对象中读取所需数据需要花费的代价。这些信息主要来源于存储在系统中的统计信息。

统计分析分两类:系统统计信息和对象统计信息
3.1 系统统计信息(System Statistics)
主要描述与系统硬件相关的某些特性,包括CPU转速、读取单数据页的I/O时间、读取多数据页的I/O时间,以及读取多数据页时平均每次读取的数据页的数量等。
系统处理能力是影响执行计划中操作代价的重要因素。
可使用DBMS_STAT中存储过程(GATHER_SYSTEM_STATS)来收集相关信息。

系统统计信息
在这里插入图片描述

3.2 对象统计信息
在估算对象的访问代价时,对象统计信息是优化器的重要参考数据。
对象统计信息又分为3类:表统计信息、索引统计信息和字段统计信息。
若表存在分区时,还包括表分区统计信息及子分区统计信息。
表统计信息
表统计信息可通过视图DBA/ALL/USER_TABLES查询,具体内容如下表
在这里插入图片描述

索引统计信息
索引统计信息可通过视图DBA/ALL/USER_INDEXES查询,具体内容如下表
在这里插入图片描述

字段统计信息
字段统计信息可通过视图DBA/ALL/USER_TAB_COLS查询,具体内容如下表
在这里插入图片描述

统计信息会直接影响优化器选择那可执行计划,对于SQL查询语句中的单表查询和多表连接的执行计划,其相关的统计信息决定了如何选择执行计划。
3.3 统计信息的查看与更新
统计信息的收集和维护可通过DBMS_STATS包或SP_INDEX_STAT_INIT、SP_TAB_STAT_INIT等系统函数来实现。

可通过DESC DBMS_STATS查看DBMS_STATS包的相关描述信息。
SQL> DESC DBMS_STATS;

示例:
收集表的统计信息
SQL> call dbms_stats.gather_table_stats(‘user_name’,’table_name’);

INDEX_STATS_SHOW函数用于查看索引的统计信息。
SQL> call dbms_stats.index_stats_show(‘user_name’,’index_name’);

SP_*函数信息
在这里插入图片描述

4.SQL优化的基本步骤

确定优化目标
确定高负载的SQL语句
在DM8中,在搭建监控开关的前提下(ENABLE_MONITOR=1,MONITOR_TIME=1)。
查看v l o n g e x e c s q l 或 v long_exec_sql或v longexecsqlvsystem_long_exec_sqls来确定高负载的SQL。
v l o n g e x e c s q l :显示执行时间较长的 1000 条 S Q L 语句。 v long_exec_sql:显示执行时间较长的1000条SQL语句。 v longexecsql:显示执行时间较长的1000SQL语句。vsystem_long_exec_sqls:显示自服务器启动以来执行时间最长的20条SQL语句。
配置索引信息
使用查询优化向导工具,输入需要进行调整的SQL语句,经过分析后,工具将给出推荐创建或修改索引的提示。用户按需创建和修改相应索引即可。

5.SQL优化的基本方法

利用绑定变量提升性能
实验表明,数据量越大,查询次数越多,执行查询时绑定变量的优势越明显。
开发有效的SQL语句
避免使用OR子句
避免使用开头和结尾都为通配符的正则表达式
灵活使用伪表(SYSDUAL)
避免直接使用SELECT * FROM ……
避免使用功能相似的重复索引
使用COUNT()统计结果行数: count()统计包含NULL值,count(列名)不包含NULL值
使用EXPLAIN查看执行计划
UNION和UNION ALL的选择:UNION会过滤重复值,UNION ALL不会
优化GROUP BY … HAVING
使用优化器提示(HINT)

6.使用优化器提示(HINT)

HINT使优化器根据用户的需要生成指定的执行计划。但如果优化器无法生成相应的执行计划,那么该HINT将会被忽略。
HINT的常见格式如下:
在这里插入图片描述

注意:如果HINT的语法书写错误或指定的值不正确,DM8不会报错,而是直接忽略HINT继续执行。

可通过动态视图v$hint_ini_info查看DM8支持的HINT。
HINT参数分为两类:“OPT”和“EXEC”
OPT 表示分析阶段使用的参数
EXEC 表示运行阶段使用的参数,该阶段使用的参数对于视图无效。
索引提示
使用索引
DM8提供两种语法格式对表查询时使用指定的索引进行数据检索。
第一种
SQL> select * from table_name INDEX index_name where …… ;
第二种
SQL> select /+INDEX(table_name,index_name)/ * from table_name where …… ;

不使用索引
SQL> select /+NO_INDEX(table_name,index_name)/ * from table_name where …… ;
可以指定多个索引,一个语句中最多指定8个索引。

连接方式提示
USE_HASH函数:强制多个表之间使用指定顺序的哈希连接。
在这里插入图片描述

NO_USE_HASH函数
在这里插入图片描述

USE_NL函数:强制多个表之间使用嵌套循环连接。

在这里插入图片描述

NO_USE_NL函数

在这里插入图片描述

USE_NL_WITH_INDEX函数:当连接情况为左表+右表索引时,强制在两个表间使用索引连接。
NO_USE_NL_WITH_INDEX函数

USE_MERGE函数:强制在两个表间使用归并连接。归并连接所用的两个列都必须是索引列。
NO_USE_MERGE函数

SEMI_GEN_CROSS函数:优先采用半连接转换为等价的内连接,仅OPTIMIZER_MODE=1有效。
NO_SEMI_GEN_CROSS函数

USE_CVT_VAR函数:优先采用变量改写方式实现连接,适合驱动表数据量少而另一侧计划较复杂的常见,仅OPTIMIZER_MODE=1有效。
NO_USE_CVT_VAR函数

ENHANCED_MERGE_JOIN函数
连接顺序提示
如果期望表的连接顺序是T1/T2/T3,则在查询语句中加入如下提示:
在这里插入图片描述

统计信息提示
在这里插入图片描述

统计信息提示只针对基表设置,对视图和派生表等对象设置无效。
若表对象存在别名,则必须使用别名
行数只能使用整数,或整数K(千)、整数M(百万)、整数G(十亿)。

参考书籍《达梦数据库性能优化》
达梦社区地址:https://eco.dameng.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 第 1 章 结构化查询语言 DM_SQL 简介 ....................................................................1 1.1 DM_SQL 语言的特点 .....................................................................................................1 1.2 保留字与标识符 ............................................................................................................2 1.3 DM_SQL 语言的功能及语句 .........................................................................................2 1.4 DM_SQL 所支持的数据类型 .........................................................................................3 1.4.1 常规数据类型 ....................................................................................................3 1.4.2 位串数据类型 ....................................................................................................5 1.4.3 日期时间数据类型 ............................................................................................6 1.4.4 多媒体数据类型 ..............................................................................................10 1.5 DM_SQL 语言支持的表达式 .......................................................................................10 1.5.1 数值表达式 ......................................................................................................11 1.5.2 字符串表达式 ..................................................................................................13 1.5.3 时间值表达式 ..................................................................................................13 1.5.4 时间间隔值表达式 ..........................................................................................15 1.5.5 运算符的优先级 ..............................................................................................16 1.6 DM_SQL 语言支持的数据库模式 ...............................................................................17 第 2 章 手册中的示例说明 ......................................................................................18 2.1 示例库说明 ..................................................................................................................18 2.2 参考脚本 ......................................................................................................................26 2.2.1 创建示例库 ......................................................................................................26 2.2.2 创建模式及表 ..................................................................................................26 2.2.3 插入数据 ..........................................................................................................33 第 3 章 数据定义语句 ..............................................................................................50 3.1 数据库修改语句 ..........................................................................................................50 3.2 管理用户 ......................................................................................................................53 3.2.1 用户定义语句 ..................................................................................................53 3.2.2 修改用户语句 ..................................................................................................59 3.2.3 用户删除语句 ..................................................................................................62 3.3 管理模式 ......................................................................................................................63 3.3.1 模式定义语句 ..................................................................................................63 3.3.2 设置当前模式语句 ..........................................................................................65 3.3.3 模式删除语句 ..................................................................................................65 3.4 管理表空间 ..................................................................................................................66 3.4.1 表空间定义语句 ..............................................................................................66 3.4.2 修改表空间语句 ..............................................................................................67 3.4.3 表空间删除语句 ..............................................................................................69 3.4.4 表空间失效文件检查 ......................................................................................70 3.4.5 表空间失效文件恢复准备 ..............................................................................70 I 目录 3.4.6 表空间失效文件恢复 ......................................................................................70 3.5 管理 HTS 表空间 .........................................................................................................71 3.5.1 创建 HTS 表空间 .............................................................................................71 3.5.2 修改 HTS 表空间 .............................................................................................71 3.5.3 删除 HTS 表空间 .............................................................................................72 3.6 管理表 ..........................................................................................................................72 3.6.1 表定义语句 ......................................................................................................72 3.6.2 表修改语句 ....................................................................................................115 3.6.3 基表删除语句 .............................................................................................133 3.6.4 基表数据删除语句 ........................................................................................134 3.6.5 事务型 HUGE 表数据重整 ............................................................................134 3.7 管理索引 ....................................................................................................................135 3.7.1 索引定义语句 ................................................................................................135 3.7.2 索引修改语句 ................................................................................................140 3.7.3 索引删除语句 ................................................................................................142 3.8 管理位图连接索引 .....................................................................................................143 3.8.1 位图连接索引定义语句 ................................................................................143 3.8.2 位图连接索引删除语句 ................................................................................145 3.9 管理全文索引 ............................................................................................................145 3.9.1 全文索引定义语句 ........................................................................................145 3.9.2 全文索引修改语句 ........................................................................................146 3.9.3 全文索引删除语句 ........................................................................................147 3.10 管理空间索引 ..........................................................................................................148 3.11 管理数组索引 ..........................................................................................................148 3.11.1 数组索引定义语句 .....................................................................................149 3.11.2 数组索引修改语句 .....................................................................................149 3.11.3 数组索引使用 .............................................................................................149 3.11.4 数组索引删除语句 .....................................................................................151 3.12 管理序列 ..................................................................................................................151 3.12.1 序列定义语句 .............................................................................................151 3.12.2 序列修改语句 .............................................................................................154 3.12.3 序列删除语句 .............................................................................................156 3.13 管理 SQL 域 .............................................................................................................156 3.13.1 创建 DOMAIN...............................................................................................156 3.13.2 使用 DOMAIN...............................................................................................157 3.13.3 删除 DOMAIN...............................................................................................158 3.14 管理上下文 ..............................................................................................................158 3.14.1 创建上下文 ..................................................................................................158 3.14.2 删除上下文 ..................................................................................................160 3.15 管理目录 ..................................................................................................................161 3.15.1 创建目录 ......................................................................................................161 3.15.2 删除目录 ......................................................................................................161 3.16 设置当前会话 ..........................................................................................................162 3.16.1 时区信息 ......................................................................................................162 II 目录 3.16.2 日期串语言 ..................................................................................................162 3.16.3 日期串格式 ..................................................................................................163 3.17 注释语句 ..................................................................................................................163 3.18 设置 INI 参数 .........................................................................................................164 3.18.1 设置参数值 ..................................................................................................164 3.18.2 设置仅对当前会话起作用 ..........................................................................165 3.19 修改系统语句 ..........................................................................................................166 3.20 设置列、索引生成统计信息 ..................................................................................166 第 4 章 数据查询语句 ............................................................................................168 4.1 单表查询 ....................................................................................................................179 4.1.1 简单查询 ........................................................................................................179 4.1.2 带条件查询 ....................................................................................................180 4.1.3 集函数 ............................................................................................................183 4.1.4 分析函数 ........................................................................................................188 4.1.5 情况表达式 ....................................................................................................205 4.2 连接查询 ....................................................................................................................209 4.2.1 交叉连接 ........................................................................................................209 4.2.2 自然连接(NATURAL JOIN)......................................................................210 4.2.3 JOIN … USING............................................................................................210 4.2.4 JOIN…ON .......................................................................................................211 4.2.5 自连接 ............................................................................................................211 4.2.6 内连接(INNER JOIN)................................................................................212 4.2.7 外连接(OUTER JOIN)................................................................................213 4.3 子查询 ........................................................................................................................217 4.3.1 标量子查询 ....................................................................................................217 4.3.2 表子查询 ........................................................................................................218 4.3.3 派生表子查询 ................................................................................................221 4.3.4 定量比较 ........................................................................................................221 4.3.5 带 EXISTS 谓词的子查询 ...........................................................................222 4.3.6 多列表子查询 ................................................................................................223 4.4 WITH 子句 ................................................................................................................224 4.4.1 WITH FUNCTION 子句 ...............................................................................224 4.4.2 公用表表达式子句 ........................................................................................225 4.5 合并查询结果 .............................................................................................................227 4.6 GROUP BY 和 HAVING 子句 ....................................................................................229 4.6.1 GROUP BY 子句的使用 ...............................................................................229 4.6.2 ROLLUP 的使用 ............................................................................................230 4.6.3 CUBE 的使用 .................................................................................................231 4.6.4 GROUPING 的使用 .......................................................................................233 4.6.5 GROUPING SETS 的使用 ...........................................................................234 4.6.6 GROUPING_ID 的使用 ................................................................................235 4.6.7 GROUP_ID 的使用 .......................................................................................236 4.6.8 HAVING 子句的使用 ....................................................................................237 III 目录 4.7 ORDER BY 子句 ........................................................................................................237 4.8 FOR UPDATE 子句 ...................................................................................................238 4.9 TOP 子句 ....................................................................................................................240 4.10 LIMIT 限定条件 .....................................................................................................241 4.10.1 LIMIT 子句 ................................................................................................241 4.10.2 ROW_LIMIT 子句 ......................................................................................242 4.11 全文检索 ..................................................................................................................243 4.12 层次查询子句 ..........................................................................................................245 4.12.1 层次查询子句 .............................................................................................245 4.12.2 层次查询相关伪列 .....................................................................................246 4.12.3 层次查询相关操作符 .................................................................................246 4.12.4 层次查询相关函数 .....................................................................................246 4.12.5 层次查询层内排序 .....................................................................................246 4.12.6 层次查询的限制 .........................................................................................247 4.13 并行查询 ..................................................................................................................251 4.14 ROWNUM ....................................................................................................................252 4.15 数组查询 ..................................................................................................................253 4.16 查看执行计划与执行跟踪统计 ..... 目录 第 7 章 物化视图 ....................................................................................................283 7.1 物化视图的定义 ....................................................................................................283 7.2 物化视图的修改 ....................................................................................................286 7.3 物化视图的删除 ....................................................................................................287 7.4 物化视图的更新 ....................................................................................................288 7.5 物化视图允许的操作 ...........................................................................................288 7.6 物化视图日志的定义 ...........................................................................................288 7.7 物化视图日志的删除 ...........................................................................................290 7.8 物化视图的限制 ....................................................................................................290 7.8.1 物化视图的一般限制 ....................................................................................290 7.8.2 物化视图的分类 ............................................................................................290 7.8.3 快速刷新通用约束 ........................................................................................291 7.8.4 物化视图信息查看 ........................................................................................291 第 8 章 函数 ............................................................................................................293 8.1 数值函数 ....................................................................................................................298 8.2 字符串函数 ................................................................................................................311 8.3 日期时间函数 ............................................................................................................332 8.4 空值判断函数 ............................................................................................................351 8.5 类型转换函数 ............................................................................................................352 8.6 杂类函数 ....................................................................................................................355 第 9 章 一致性和并发性 ........................................................................................358 9.1 DM 事务相关语句 ......................................................................................................358 9.1.1 事务的开始 ....................................................................................................358 9.1.2 事务的结束 ....................................................................................................358 9.1.3 保存点相关语句 ............................................................................................359 9.1.4 设置事务隔离级及读写特性 ........................................................................360 9.2 DM 手动上锁语句 ......................................................................................................361 第 10 章 外部函数 ..................................................................................................364 10.1 C 外部函数 ..............................................................................................................364 10.1.1 生成动态库 .................................................................................................364 10.1.2 C 外部函数创建 ..........................................................................................366 10.1.3 举例说明 .....................................................................................................367 10.2 JAVA 外部函数 .......................................................................................................369 10.2.1 生成 jar 包 ................................................................................................370 10.2.2 JAVA 外部函数创建 ..................................................................................370 10.2.3 举例说明 .....................................................................................................371 10.3 AP 使用说明 ............................................................................................................372 第 11 章 包 .............................................................................................................373 11.1 创建包 ......................................................................................................................373 V 目录 11.1.1 创建包规范 .................................................................................................373 11.1.2 创建包主体 .................................................................................................374 11.2 重编译包 ..................................................................................................................376 11.3 删除包 ......................................................................................................................376 11.3.1 删除包规范 .................................................................................................376 11.3.2 删除包主体 .................................................................................................377 11.4 应用实例 ..................................................................................................................377 第 12 章 类类型 ......................................................................................................381 12.1 普通 CLASS 类型 .....................................................................................................381 12.1.1 声明类 .........................................................................................................382 12.1.2 实现类 .........................................................................................................383 12.1.3 重编译类 .....................................................................................................385 12.1.4 删除类 .........................................................................................................386 12.1.5 类的使用 .....................................................................................................386 12.2 JAVA CLASS 类型 .................................................................................................388 12.2.1 定义 JAVA 类 ..............................................................................................389 12.2.2 重编译 JAVA 类 ..........................................................................................391 12.2.3 删除 JAVA 类 ..............................................................................................391 12.2.4 类的使用 .....................................................................................................391 第 13 章自定义类型 ................................................................................................393 13.1 创建类型 ..................................................................................................................393 13.2 创建类型体 ...............................................................................................................394 13.3 重编译类型 ...............................................................................................................395 13.4 删除类型 ...................................................................................................................395 13.4.1 删除类型 ......................................................................................................396 13.4.2 删除类型体 ..................................................................................................396 13.5 自定义类型的使用 ...................................................................................................396 13.5.1 使用规则 .....................................................................................................396 13.5.2 应用实例 .....................................................................................................396 第 14 章 触发器 ......................................................................................................398 14.1 触发器的定义 ..........................................................................................................398 14.1.1 表触发器 ......................................................................................................398 14.1.2 事件触发器 ..................................................................................................408 14.1.3 时间触发器 ..................................................................................................418 14.2 触发器替换 ..............................................................................................................419 14.3 设计触发器的原则 ...................................................................................................419 14.4 触发器的删除 ..........................................................................................................420 14.5 禁止和允许触发器 ..................................................................................................420 14.6 触发器的重编 ..........................................................................................................421 14.7 触发器应用举例 ......................................................................................................421 14.7.1 使用触发器实现审计功能 .........................................................................422 VI 目录 14.7.2 使用触发器维护数据完整性 ......................................................................422 14.7.3 使用触发器保障数据安全性 ......................................................................423 14.7.4 使用触发器生成字段默认值 ......................................................................424 第 15 章 同义词 ......................................................................................................426 15.1 创建同义词 ..............................................................................................................426 15.2 删除同义词 ..............................................................................................................427 第 16 章 外部链接 ..................................................................................................429 16.1 创建外部链接 ..........................................................................................................429 16.2 删除外部链接 ..........................................................................................................433 16.3 使用外部链接 ..........................................................................................................434 第 17 章 闪回查询 ..................................................................................................435 17.1 闪回查询子句 ..........................................................................................................435 17.2 闪回版本查询 ..........................................................................................................437 17.3 闪回事务查询 ..........................................................................................................439 第 18 章 JSON.........................................................................................................440 18.1 数据类型 ...................................................................................................................440 18.1.1 string......................................................................................................440 18.1.2 number......................................................................................................441 18.1.3 true、false...........................................................................................441 18.1.4 null...........................................................................................................443 18.1.5 object......................................................................................................444 18.1.6 array ........................................................................................................444 18.2 函数 ..........................................................................................................................444 18.2.1 json_value ............................................................................................444 18.2.2 json_query ............................................................................................445 18.2.3 函数参数详解 ...........................................................................................446 18.3 使用 IS JSON/IS NOT JSON 条件 ...................................................................448 18.4 视图 ...........................................................................................................................451 18.4.1 视图使用说明 ..............................................................................................451 18.4.2 DBA_JSON_COLUMNS................................................................................451 18.4.3 USER_JSON_COLUMNS .............................................................................452 18.4.4 ALL_JSON_COLUMNS................................................................................452 18.5 一个简单的例子 .......................................................................................................452 第 19 章 高级日志 ..................................................................................................455 19.1 简介 ..........................................................................................................................455 19.2 使用须知 ..................................................................................................................455 19.3 语法 ..........................................................................................................................455 19.3.1 管理日志辅助表 .........................................................................................455 19.3.2 使用日志辅助表的规则与约束 ..................................................................456 VII 目录 19.3.3 日志辅助表结构 .........................................................................................456 19.3.4 系统过程 .....................................................................................................457 19.4 使用高级日志同步数据的原则 ..............................................................................457 19.5 应用实例 ..................................................................................................................459 19.5.1 创建不带主键的源表 .................................................................................459 19.5.2 创建带主键的源表 .....................................................................................462 附录 1 关键字和保留字 .........................................................................................465 附录 2 SQL 语法描述说明 ....................................................................................469 附录 3 系统存储过程和函数 .................................................................................472 1) INI 参数管理 ..............................................................................................................472 2) 系统信息管理 ...............................................................................................................477 3) 备份恢复管理 ...............................................................................................................491 4) 定时器管理 ...................................................................................................................521 5) 数据复制管理 ...............................................................................................................524 6) 模式对象相关信息管理 ...............................................................................................533 7) 数据守护管理 ...............................................................................................................543 8) MPP 管理 ......................................................................................................................548 9) 日志与检查点管理 .......................................................................................................551 10) 数据库重演 ................................................................................................................552 11) 统计信息 ....................................................................................................................553 12) 资源监测 ....................................................................................................................560 13) 类型别名 ....................................................................................................................570 14) 杂类函数 ....................................................................................................................572 15) 编目函数调用的系统函数 .........................................................................................583 16) BFILE.........................................................................................................................593 17) HUGE 表备份还原 ......................................................................................................593 18) 定制会话级 INI 参数 ...............................................................................................595 19) 为 SQL 指定 HINT......................................................................................................597 20) 时区设置 ....................................................................................................................599

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值