未验证 提交 fb1c1fd7 编写于 作者: Z zhijiuxing-alt 提交者: GitHub

Fix invalid link in document (#306)

modify the mkdocs.yml and Added support for Chinese retrieval
上级 94e2cc67
......@@ -38,7 +38,9 @@ To modify the layout of pages, you need to edit `mkdocs.yml`.
For configuration details, see [MkDocs User Guide](https://www.mkdocs.org/user-guide/configuration/).
**Note:** `docs/` is the default value of `docs_dir`, which means `docs/` is equivalent to `./` in `mkdocs.yml`.
Note the following rules when editing documents:
- All paths in `nav` must be relative to the `docs_dir`, which is `docs` by default. So here `./` is equivalent to [docs](docs).
- All internal links must be relative paths, as MkDocs only supports regular Markdown linking syntax.
## Contribute
......
......@@ -5,7 +5,7 @@
* OceanBase 数据库
蚂蚁集团完全自主研发的金融级分布式关系数据库。OceanBase 数据库具有高可用、可拓展、高兼容、低成本、强一致及高性能等特点。详细信息参考 [什么是 OceanBase 数据库](/zh-CN/1.about-oceanbase-database/1.what-is-oceanbase.md)
蚂蚁集团完全自主研发的金融级分布式关系数据库。OceanBase 数据库具有高可用、可拓展、高兼容、低成本、强一致及高性能等特点。详细信息参考 [什么是 OceanBase 数据库](../1.about-oceanbase-database/1.what-is-oceanbase.md)
* OceanBase Database Proxy
......
......@@ -90,7 +90,7 @@
在会话中引用序列的 `CURRVAL` 伪列前,都应首先应用序列的 `NEXTVAL` 伪列来初始化本次会话的序列值。
创建序列时,可以定义其初始值以及其值之间的增量。对 `NEXTVAL` 的第一次引用将返回序列的初始值。对 `NEXTVAL` 的后续引用将会使序列值按照定义的增量递增,并返回新值。任何对 `CURRVAL` 的引用总是返回该序列的当前值,即最后一次对 `NEXTVAL` 引用时返回的值。对序列的创建的相关内容,请参考文档 [CREATE SEQUENCE](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/12.create-sequence.md) 章节。
创建序列时,可以定义其初始值以及其值之间的增量。对 `NEXTVAL` 的第一次引用将返回序列的初始值。对 `NEXTVAL` 的后续引用将会使序列值按照定义的增量递增,并返回新值。任何对 `CURRVAL` 的引用总是返回该序列的当前值,即最后一次对 `NEXTVAL` 引用时返回的值。对序列的创建的相关内容,请参考文档 [CREATE SEQUENCE](../11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/12.create-sequence.md) 章节。
在单条 SQL 语句中引用 `NEXTVAL` 时,OceanBase 数据库按照以下方式递增序列:
......
......@@ -3,7 +3,7 @@
OceanBase 为我们提供了四种存储数值的数据类型,它们分别是 `NUMBER``FLOAT``BINARY_FLOAT``BINARY_DOUBLE`。您可以通过这四种数值类型存储定点数、浮点数和零。在数值计算时,数值类型具有不同的优先级,具体信息请查阅 [数值类型的优先级](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/3.numeric-data-type/5.numeric-priority.md)
OceanBase 为我们提供了四种存储数值的数据类型,它们分别是 `NUMBER``FLOAT``BINARY_FLOAT``BINARY_DOUBLE`。您可以通过这四种数值类型存储定点数、浮点数和零。在数值计算时,数值类型具有不同的优先级,具体信息请查阅 [数值类型的优先级](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/3.numeric-data-type/5.numeric-priority.md)
| **数据类** | **长度(字节)** | **说明** |
......
......@@ -36,11 +36,11 @@
更多信息
----------------
* [夏令时](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/4.date-time-and-interval-data-types/4.timestamp-with-time-zone-data-type.md)
* [夏令时](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/4.date-time-and-interval-data-types/4.timestamp-with-time-zone-data-type.md)
* [日期时间 DATE 和间隔 INTERVAL 的计算](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/4.date-time-and-interval-data-types/8.calculation-of-date-time-and-interval.md)
* [日期时间 DATE 和间隔 INTERVAL 的计算](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/4.date-time-and-interval-data-types/8.calculation-of-date-time-and-interval.md)
......
......@@ -44,7 +44,7 @@ DD-MON-RR HH.MI.SSXFF AM
如果您需要自定义数据的格式,可以使用转换函数。您可以通过函数 TO_CHAR (datetime,fmt) 指定数据的输出格式。这个转换函数会将字符串转化为参数 fmt 中定义的格式。在 `fmt` 未指明的情况下 `TO_CHAR` 按数据类型的默认格式返回数据。关于 `TIMESTAMP WITH TIME ZONE` 数据类型值的输入格式,您可以参阅文档 [时间戳字面量](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/3.literal-1/4.date-and-time-literal/2.timestamp-literal.md)
如果您需要自定义数据的格式,可以使用转换函数。您可以通过函数 TO_CHAR (datetime,fmt) 指定数据的输出格式。这个转换函数会将字符串转化为参数 fmt 中定义的格式。在 `fmt` 未指明的情况下 `TO_CHAR` 按数据类型的默认格式返回数据。关于 `TIMESTAMP WITH TIME ZONE` 数据类型值的输入格式,您可以参阅文档 [时间戳字面量](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/3.literal-1/4.date-and-time-literal/2.timestamp-literal.md)
取值范围
----------------
......
......@@ -28,7 +28,7 @@ INTERVAL YEAR [(percision)] TO MONTH
日期格式
----------------
在插入 `INTERVAL YEAR TO MONTH` 数据类型的值时,有以下几种格式,更多关于间隔数据类型值的指定请参阅 [间隔字面量](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/3.literal-1/5.interval-literal.md)
在插入 `INTERVAL YEAR TO MONTH` 数据类型的值时,有以下几种格式,更多关于间隔数据类型值的指定请参阅 [间隔字面量](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/3.literal-1/5.interval-literal.md)
| **语法** | **示例** | **说明** |
......@@ -72,7 +72,7 @@ SELECT * FROM Interval_Sample;
间隔与其他日期类型的计算
------------------------
OceanBase 支持数据类型间的转换,所以间隔数据类型的值可以与其他日期值进行数学运算,但是数据库并不支持数据类型间任意的进行加、减、乘、除运算。请参阅文档 [日期时间 DATE 和间隔 INTERVAL 的计算](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/4.date-time-and-interval-data-types/8.calculation-of-date-time-and-interval.md) 中查看目前支持的日期类型计算矩阵图和 [数据类型转换](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/2.data-type-comparison-rules/6.data-type-conversion.md) 了解数更多数据类型转换的信息。
OceanBase 支持数据类型间的转换,所以间隔数据类型的值可以与其他日期值进行数学运算,但是数据库并不支持数据类型间任意的进行加、减、乘、除运算。请参阅文档 [日期时间 DATE 和间隔 INTERVAL 的计算](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/4.date-time-and-interval-data-types/8.calculation-of-date-time-and-interval.md) 中查看目前支持的日期类型计算矩阵图和 [数据类型转换](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/2.data-type-comparison-rules/6.data-type-conversion.md) 了解数更多数据类型转换的信息。
* **示例 1** :间隔与间隔的计算,返回的值仍为间隔数据类型。
......
......@@ -29,7 +29,7 @@ INTERVAL DAY [(precision)] TO SECOND [(fractional_seconds_precision)]
示例
--------------
在插入 `INTERVAL DAY TO SECOND` 数据类型的值时,有以下几种格式,更多关于间隔数据类型值的指定请参阅 [间隔字面量](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/3.literal-1/5.interval-literal.md)
在插入 `INTERVAL DAY TO SECOND` 数据类型的值时,有以下几种格式,更多关于间隔数据类型值的指定请参阅 [间隔字面量](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/3.literal-1/5.interval-literal.md)
| 语法 | 示例 | 说明 |
......@@ -71,6 +71,6 @@ SELECT * FROM Interval_Sample;
间隔与其他日期类型的计算
------------------------
OceanBase 支持数据类型间的转换,所以间隔数据类型的值可以与其他日期值进行数学运算。但是数据库并不支持数据类型间任意的进行加、减、乘、除运算。请参阅文档 [日期时间 DATE 和间隔 INTERVAL 的计算](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/4.date-time-and-interval-data-types/8.calculation-of-date-time-and-interval.md) 中查看目前支持的日期类型计算矩阵图和参阅文档 [数据类型转换](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/2.data-type-comparison-rules/6.data-type-conversion.md) 了解数更多数据类型转换的信息。
OceanBase 支持数据类型间的转换,所以间隔数据类型的值可以与其他日期值进行数学运算。但是数据库并不支持数据类型间任意的进行加、减、乘、除运算。请参阅文档 [日期时间 DATE 和间隔 INTERVAL 的计算](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/4.date-time-and-interval-data-types/8.calculation-of-date-time-and-interval.md) 中查看目前支持的日期类型计算矩阵图和参阅文档 [数据类型转换](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/2.data-type-comparison-rules/6.data-type-conversion.md) 了解数更多数据类型转换的信息。
关于间隔与其他数据类型计算的示例,请参阅文档 [INTERVAL YEAR TO MONTH 数据类型](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/4.date-time-and-interval-data-types/6.interval-year-to-month-data-type.md)
关于间隔与其他数据类型计算的示例,请参阅文档 [INTERVAL YEAR TO MONTH 数据类型](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/4.date-time-and-interval-data-types/6.interval-year-to-month-data-type.md)
......@@ -25,15 +25,15 @@ OceanBase 数据类型比较规则支持以下数据值:
更多信息
----------------
* [数据类型优先级](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/2.data-type-comparison-rules/5.data-type-priority.md)
* [数据类型优先级](../../../11.sql-reference-oracle-mode/3.basic-elements-1/2.data-type-comparison-rules/5.data-type-priority.md)
* [数据类型转换](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/2.data-type-comparison-rules/6.data-type-conversion.md)
* [数据类型转换](../../../11.sql-reference-oracle-mode/3.basic-elements-1/2.data-type-comparison-rules/6.data-type-conversion.md)
* [数据转换的安全注意事项](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/2.data-type-comparison-rules/7.security-considerations-for-data-conversion.md)
* [数据转换的安全注意事项](../../../11.sql-reference-oracle-mode/3.basic-elements-1/2.data-type-comparison-rules/7.security-considerations-for-data-conversion.md)
......
......@@ -20,13 +20,13 @@ OceanBase 支持以下几种数据格式化:
**数值格式化**
数值格式化指定了存储在数据库中的定点数和浮点数的格式。当您需要将 SQL 语句中出现 `NUMBER``BINARY_FLOAT``BINARY_ DOUBLE` 值转换为 `VARCHAR2` 数据类型时,您可以使用函数中的数值格式化。数值格式化是由一个或多个数值格式化元素组成,具体信息请查阅 [数值格式化](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/4.format/2.format-1.md)
数值格式化指定了存储在数据库中的定点数和浮点数的格式。当您需要将 SQL 语句中出现 `NUMBER``BINARY_FLOAT``BINARY_ DOUBLE` 值转换为 `VARCHAR2` 数据类型时,您可以使用函数中的数值格式化。数值格式化是由一个或多个数值格式化元素组成,具体信息请查阅 [数值格式化](../../../11.sql-reference-oracle-mode/3.basic-elements-1/4.format/2.format-1.md)
**日期时间格式化**
日期时间格式化指定了存储在数据库中日期时间数据的格式。日期时间格式化的总长度不能超过 22 个字符。当您需要将非默认格式的字符值转换为日期时间格式的值时,您可以使用函数中的日期时间格式化。日期时间格式化是由一个或多个日期时间格式化元素组成,具体信息请查阅 [日期时间格式化](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/4.format/3.date-and-time-formatting.md)。将字符串值转换为日期值,是有一些转换规则,关于规则请查阅 [字符串到日期的转换规则](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/4.format/5.conversion-rules-from-string-to-date.md)
日期时间格式化指定了存储在数据库中日期时间数据的格式。日期时间格式化的总长度不能超过 22 个字符。当您需要将非默认格式的字符值转换为日期时间格式的值时,您可以使用函数中的日期时间格式化。日期时间格式化是由一个或多个日期时间格式化元素组成,具体信息请查阅 [日期时间格式化](../../../11.sql-reference-oracle-mode/3.basic-elements-1/4.format/3.date-and-time-formatting.md)。将字符串值转换为日期值,是有一些转换规则,关于规则请查阅 [字符串到日期的转换规则](../../../11.sql-reference-oracle-mode/3.basic-elements-1/4.format/5.conversion-rules-from-string-to-date.md)
`RR` 日期时间格式化元素类似于 `YY` 日期时间格式化元素,但它为跨世纪日期值存储提供了额外的灵活性,关于 RR 日式格式化元素,请查阅 [RR 日期时间格式化元素](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/4.format/4.rr-date-and-time-format-element.md)
`RR` 日期时间格式化元素类似于 `YY` 日期时间格式化元素,但它为跨世纪日期值存储提供了额外的灵活性,关于 RR 日式格式化元素,请查阅 [RR 日期时间格式化元素](../../../11.sql-reference-oracle-mode/3.basic-elements-1/4.format/4.rr-date-and-time-format-element.md)
**格式化修饰符**
......
......@@ -5,15 +5,15 @@
OceanBase 中用户可以创建三种注释:
* [SQL 语句的注释](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/2.comments-on-the-sql-statement.md):被存储为执行 SQL 语句的应用程序代码的一部分。
* [SQL 语句的注释](../../../11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/2.comments-on-the-sql-statement.md):被存储为执行 SQL 语句的应用程序代码的一部分。
* [Schema 与非 Schema 对象的注释](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/3.comment-on-schema-and-non-schema-objects.md):与对象本身的元数据一起存储在数据字典中。
* [Schema 与非 Schema 对象的注释](../../../11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/3.comment-on-schema-and-non-schema-objects.md):与对象本身的元数据一起存储在数据字典中。
* [Hint](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/4.Hint/1.hint-overview.md):一种在 SQL 语句中将指令传递给 OceanBase 数据库优化器的注释。
* [Hint](../../../11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/4.Hint/1.hint-overview.md):一种在 SQL 语句中将指令传递给 OceanBase 数据库优化器的注释。
......
......@@ -6,7 +6,7 @@
QB_NAME Hint
------------------------
使用 `QB_NAME` Hint 来定义查询块的名称。然后,可以在外部查询的 Hint 中使用这个名称,也可以在内联视图的 Hint 中使用这个名称,从而影响查询在被命名查询块中的表上的执行。更多关于查询块名称的信息,请参阅文档 [Hint 概述](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/4.Hint/1.hint-overview.md) 中的在 Hint 中定义查询块。
使用 `QB_NAME` Hint 来定义查询块的名称。然后,可以在外部查询的 Hint 中使用这个名称,也可以在内联视图的 Hint 中使用这个名称,从而影响查询在被命名查询块中的表上的执行。更多关于查询块名称的信息,请参阅文档 [Hint 概述](../../../../../11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/4.Hint/1.hint-overview.md) 中的在 Hint 中定义查询块。
以下是 `QB_NAME` Hint 的语法:
......
......@@ -18,4 +18,4 @@ Schema 对象命名示例
这些示例都遵循了 [数据库对象命名规则](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/8.database-naming-convention/2.database-object-naming-rules.md) 中列出的规则。
这些示例都遵循了 [数据库对象命名规则](../../../11.sql-reference-oracle-mode/3.basic-elements-1/8.database-naming-convention/2.database-object-naming-rules.md) 中列出的规则。
......@@ -3,9 +3,9 @@
当您发出包含数据库链接的 SQL 语句时,需要使用存储在数据字典中的完整数据库链接名,更多关于数据库链接名称的信息请查看文档 [创建数据库链接](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/9.database-object-reference-method/3.reference-objects-in-a-remote-database/1.create-database-link.md)
当您发出包含数据库链接的 SQL 语句时,需要使用存储在数据字典中的完整数据库链接名,更多关于数据库链接名称的信息请查看文档 [创建数据库链接](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/9.database-object-reference-method/3.reference-objects-in-a-remote-database/1.create-database-link.md)
OceanBase 在连接远程数据库时,将使用数据库连接字符串访问远程数据库。使用数据库字符串、用户名和密码后连接成功,则 OceanBase 使用文档 [引用 Schema 对象](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/9.database-object-reference-method/2.reference-a-schema-object.md) 中的规则来访问远程数据库上的指定对象,但请注意相关限制:
OceanBase 在连接远程数据库时,将使用数据库连接字符串访问远程数据库。使用数据库字符串、用户名和密码后连接成功,则 OceanBase 使用文档 [引用 Schema 对象](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/9.database-object-reference-method/2.reference-a-schema-object.md) 中的规则来访问远程数据库上的指定对象,但请注意相关限制:
1. 只能执行只读语句。
......
......@@ -72,7 +72,7 @@
| +、-(作为一元运算符)、PRIOR、CONNECT_BY_ROOT | 正号、负号、层次结构中的位置。 |
| \*、/ | 乘法、除法。 |
| +、-(作为二元运算符)、\|\| | 加、减、串联。 |
| 条件表达式在数据库评估完运算符后再进行评估 | 详情请参阅文档 [SQL 条件概述](/zh-CN/11.sql-reference-oracle-mode/7.condition/1.overview-of-sql-conditions.md)。 |
| 条件表达式在数据库评估完运算符后再进行评估 | 详情请参阅文档 [SQL 条件概述](../../11.sql-reference-oracle-mode/7.condition/1.overview-of-sql-conditions.md)。 |
......
......@@ -18,7 +18,7 @@
算术表达式中不能使用两个连续的负号(--)来表示双重求反或减去一个负值,因为字符 -- 在 SQL 语句中用于指定注释。可以用空格或括号分隔连续的减号。有关 SQL 语句中的注释,详细信息请参阅章节 [注释](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/1.annotation-overview.md)
算术表达式中不能使用两个连续的负号(--)来表示双重求反或减去一个负值,因为字符 -- 在 SQL 语句中用于指定注释。可以用空格或括号分隔连续的减号。有关 SQL 语句中的注释,详细信息请参阅章节 [注释](../../11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/1.annotation-overview.md)
以下示例展示了运算符 +、- 用于表示正、负的 SQL 查询:
......
......@@ -3,7 +3,7 @@
`PRIOR``CONNECT_BY_ROOT` 运算符仅在 [层次查询](/zh-CN/11.sql-reference-oracle-mode/8.queries-and-subqueries-1/3.hierarchical-query.md) 中有效。
`PRIOR``CONNECT_BY_ROOT` 运算符仅在 [层次查询](../../11.sql-reference-oracle-mode/8.queries-and-subqueries-1/3.hierarchical-query.md) 中有效。
PRIOR 运算符
---------------------
......
......@@ -11,7 +11,7 @@
没有任何参数的函数类似于 [伪列](/zh-CN/11.sql-reference-oracle-mode/2.pseudo-column.md)。但是,伪列通常为结果集中的每一行返回不同的值,而没有任何变量的函数通常为每一行返回相同的值。
没有任何参数的函数类似于 [伪列](../../11.sql-reference-oracle-mode/2.pseudo-column.md)。但是,伪列通常为结果集中的每一行返回不同的值,而没有任何变量的函数通常为每一行返回相同的值。
关于函数
----------------
......@@ -31,7 +31,7 @@ OceanBase 内嵌的函数可以直接在 SQL 语句中使用。每个函数的
在 SQL 语句中对 `LOB` 列使用函数时,OceanBase 数据库将在 SQL 和 PL/SQL 处理期间创建临时 `LOB` 列,并有一定的使用限制,详情信息请参考文档 [与 Oracle 兼容性对比](t1988469.html#topic-1988469)
在 SQL 语句中对 `LOB` 列使用函数时,OceanBase 数据库将在 SQL 和 PL/SQL 处理期间创建临时 `LOB` 列,并有一定的使用限制。
本章中函数分成了两大类:
......@@ -46,7 +46,7 @@ OceanBase 内嵌的函数可以直接在 SQL 语句中使用。每个函数的
分析函数与聚合函数,都是对行集组(一组行的集合)进行聚合计算,不同的是,聚合函数每组只能返回一个值(一行),而分析函数每组可以返回多个值(多行)。行集组又称为窗口(Window)。聚合函数通常和 `SELECT` 语句中的 `GROUP BY` 子句一起使用,使用时数据库将查询表或视图的行分为几组,并将聚合函数应用于每组行,同时为每组返回一个结果行。
使用分析函数时需要用特殊的关键字 `OVER` 来指定窗口。更多关于窗后函数的信息,请参阅文档 [窗口函数说明](/zh-CN/11.sql-reference-oracle-mode/5.functions-1/4.analysis-functions-1/1.window-function-description.md)
使用分析函数时需要用特殊的关键字 `OVER` 来指定窗口。更多关于窗后函数的信息,请参阅文档 [窗口函数说明](../../11.sql-reference-oracle-mode/5.functions-1/4.analysis-functions-1/1.window-function-description.md)
### 数字函数
......@@ -360,4 +360,4 @@ Query OK, 0 rows affected (0.00 sec)
更多信息
----------------
分析函数中的关键字 `OVER`,请参阅 [窗口函数说明](/zh-CN/11.sql-reference-oracle-mode/5.functions-1/4.analysis-functions-1/1.window-function-description.md)
分析函数中的关键字 `OVER`,请参阅 [窗口函数说明](../../11.sql-reference-oracle-mode/5.functions-1/4.analysis-functions-1/1.window-function-description.md)
......@@ -23,7 +23,7 @@ CAST (expr AS type_name )
|-----------|--------------------------------------------------------------------------|
| expr | 列名或者表达式。 |
| AS | 用于分隔两个参数,在 `AS` 之前的是要处理的数据,在 `AS` 之后是要转换的数据类型。 |
| type_name | 数据类型为 OceanBase 的 [内建数据类型](/zh-CN/11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/1.overview-of-built-in-data-types.md)。 |
| type_name | 数据类型为 OceanBase 的 [内建数据类型](../../../../11.sql-reference-oracle-mode/3.basic-elements-1/1.built-in-data-types/1.overview-of-built-in-data-types.md)。 |
......
......@@ -3,7 +3,7 @@
列表达式(Column Expressions)是一种形式受限制的 `expr`,在本章其他表达式的语法中被命名为 `column_expression`。列表达式可以是 [简单表达式](/zh-CN/11.sql-reference-oracle-mode/6.expression-1/2.simple-expression.md)[复合表达式](/zh-CN/11.sql-reference-oracle-mode/6.expression-1/3.compound-expression.md)[函数表达式](/zh-CN/11.sql-reference-oracle-mode/6.expression-1/7.function-expression.md) 或者 [表达式列表](/zh-CN/11.sql-reference-oracle-mode/6.expression-1/10.expression-list.md),但它只能包含以下形式的表达式:
列表达式(Column Expressions)是一种形式受限制的 `expr`,在本章其他表达式的语法中被命名为 `column_expression`。列表达式可以是 [简单表达式](../../11.sql-reference-oracle-mode/6.expression-1/2.simple-expression.md)[复合表达式](../../11.sql-reference-oracle-mode/6.expression-1/3.compound-expression.md)[函数表达式](../../11.sql-reference-oracle-mode/6.expression-1/7.function-expression.md) 或者 [表达式列表](../../11.sql-reference-oracle-mode/6.expression-1/10.expression-list.md),但它只能包含以下形式的表达式:
* 目标表(被创建,变更或索引的表)的列。
......
......@@ -14,4 +14,4 @@
更多关于条件 `NOT``AND``OR` 的信息,请参考文档 [逻辑条件](/zh-CN/11.sql-reference-oracle-mode/7.condition/3.logical-conditions.md)
更多关于条件 `NOT``AND``OR` 的信息,请参考文档 [逻辑条件](../../11.sql-reference-oracle-mode/7.condition/3.logical-conditions.md)
......@@ -64,7 +64,7 @@ OceanBase(root@oceanbase)>ALTER SEQUENCE my_sequence MAXVALUE 1024 CYCLE;
实现。
* 其他自增列取值注意事项可参考 [CREATE SEQUENCE](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/12.create-sequence.md) 语句。
* 其他自增列取值注意事项可参考 [CREATE SEQUENCE](../../../11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/12.create-sequence.md) 语句。
......
......@@ -103,12 +103,12 @@ Outputs & filters:
Q2 查询的执行计划展示中,虽然 SQL 中含有 LIMIT,但是并未分配 LIMIT 算子,而是将相关表达式下压到了 TABLE SCAN 算子上,这种下压 LIMIT 行为是 SQL 优化器的一种优化方式,详细信息请参见 [TABLE SCAN](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/1.table-scan-2.md)
Q2 查询的执行计划展示中,虽然 SQL 中含有 LIMIT,但是并未分配 LIMIT 算子,而是将相关表达式下压到了 TABLE SCAN 算子上,这种下压 LIMIT 行为是 SQL 优化器的一种优化方式,详细信息请参见 [TABLE SCAN](../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/1.table-scan-2.md)
Oracle 模式含有 COUNT 的 SQL 改写为 LIMIT 场景
---------------------------------------------------------
由于 Oracle 模式含有 COUNT 的 SQL 改写为 LIMIT 场景在 COUNT 算子章节已经有过相关介绍,详细信息请参见 [COUNT](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/4.COUNT-1-2-3-4.md)
由于 Oracle 模式含有 COUNT 的 SQL 改写为 LIMIT 场景在 COUNT 算子章节已经有过相关介绍,详细信息请参见 [COUNT](../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/4.COUNT-1-2-3-4.md)
Oracle 模式含有 FETCH 的 SQL 场景
-----------------------------------------------
......
......@@ -44,7 +44,7 @@ Outputs & filters:
目前 LIMIT 算子只支持 MySQL 模式的 SQL 场景。详细信息请参考 [LIMIT](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
目前 LIMIT 算子只支持 MySQL 模式的 SQL 场景。详细信息请参考 [LIMIT](../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
上述示例中,Q1 查询的执行计划展示中的 outputs \& filters 详细列出了 SUBPLAN SCAN 算子的输出信息如下:
......
......@@ -195,7 +195,7 @@ Outputs & filters:
其中,PX PARTITION ITERATO 算子用于按照分区粒度迭代数据,详细信息请参见 [GI](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/24.GI-1-2.md)
其中,PX PARTITION ITERATO 算子用于按照分区粒度迭代数据,详细信息请参见 [GI](../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/24.GI-1-2.md)
上述示例的执行计划展示中的 outputs \& filters 详细列出了 EXCH-IN/OUT (HASH) 算子的输出信息如下:
......
......@@ -64,7 +64,7 @@ Outputs & filters:
其中,MATERIAL 算子用于物化下层算子输出的数据,详细信息请参见 [MATERIAL](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/10.MATERIAL-1-2.md)
其中,MATERIAL 算子用于物化下层算子输出的数据,详细信息请参见 [MATERIAL](../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/10.MATERIAL-1-2.md)
```javascript
Q2:
......
......@@ -91,4 +91,4 @@ Outputs & filters:
从上述执行计划示例的输出结果可以发现,虽然 SQL 中含有 ROWNUM,但是经过 SQL 优化器改写之后,已经将涉及含有 ROWNUM 的表达式转换为了等价的 LIMIT 表达式,转换的好处在于可以做更多的优化,详细信息请参见 [LIMIT](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
从上述执行计划示例的输出结果可以发现,虽然 SQL 中含有 ROWNUM,但是经过 SQL 优化器改写之后,已经将涉及含有 ROWNUM 的表达式转换为了等价的 LIMIT 表达式,转换的好处在于可以做更多的优化,详细信息请参见 [LIMIT](../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
......@@ -196,4 +196,4 @@ obclient>ALTER SYSTEM FLUSH PLAN CACHE [tenant_list] [global]
有关视图的详细参数信息,请参考 [计划缓存相关视图](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/3.plan-cache-view.md)
有关视图的详细参数信息,请参考 [计划缓存相关视图](../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/3.plan-cache-view.md)
......@@ -331,4 +331,4 @@ OceanBase 数据库提供了系统视图 `gv$sql_audit/v$sql_audit` 来查看并
`gv$sql_audit/v$sql_audit` 包含字段较多,其中与并行执行相关的字段为:qc_id、dfo_id、sqc_id 和 worker_id。
详细信息请参考 [(g)v$sql_audit 介绍](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/1.g-v-sql_audit-introduction.md)
详细信息请参考 [(g)v$sql_audit 介绍](../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/1.g-v-sql_audit-introduction.md)
......@@ -30,8 +30,8 @@ SQL 调优方式一般可分为单条 SQL 调优和系统 SQL 调优。
| **主要方法** | **说明** |
|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 优化慢 SQL | 找到具体的慢 SQL 后,针对单条 SQL 进行性能调优,请参见示例 [查询某段时间内执行时间排名 TOP N 的请求](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/8.query-the-top-n-requests-with-the-most-execution-time-1.md)。 |
| 均衡 SQL 的请求流量资源 | 请参见示例 [查看集群 SQL 请求流量是否均衡](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/6.check-whether-the-sql-request-traffic-is-balanced-1.md)。 影响均衡的因素主要有: * `ob_read_consistency` 如何设置 * Primary Zone 如何设置 * Proxy 或 Java 客户端路由策略相关设置 * 业务热点查询分区是否均衡 |
| 均衡子计划的 RPC 请求流量资源 | 请参见示例 [查看分布式子计划 RPC 执行数是否均衡](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/12.check-whether-the-number-of-distributed-rpc-executions-is-balanced-1.md)。 影响子计划请求是否均匀的主要因素如下: * OBServer 内部路由策略相关设置 * 业务热点查询的分区是否均衡 |
| 优化慢 SQL | 找到具体的慢 SQL 后,针对单条 SQL 进行性能调优,请参见示例 [查询某段时间内执行时间排名 TOP N 的请求](../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/8.query-the-top-n-requests-with-the-most-execution-time-1.md)。 |
| 均衡 SQL 的请求流量资源 | 请参见示例 [查看集群 SQL 请求流量是否均衡](../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/6.check-whether-the-sql-request-traffic-is-balanced-1.md)。 影响均衡的因素主要有: * `ob_read_consistency` 如何设置 * Primary Zone 如何设置 * Proxy 或 Java 客户端路由策略相关设置 * 业务热点查询分区是否均衡 |
| 均衡子计划的 RPC 请求流量资源 | 请参见示例 [查看分布式子计划 RPC 执行数是否均衡](../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/12.check-whether-the-number-of-distributed-rpc-executions-is-balanced-1.md)。 影响子计划请求是否均匀的主要因素如下: * OBServer 内部路由策略相关设置 * 业务热点查询的分区是否均衡 |
......@@ -5,13 +5,13 @@ SQL 调优基本流程
在 SQL 调优中,针对慢 SQL 的分析步骤如下:
1. 通过全局 SQL 审计表 (g)v$sql_audit、 SQL Trace 和计划缓存视图查看 SQL 执行信息,初步查找 SQL 请求的流程中导致耗时或消耗资源(如内存、磁盘 IO 等)的 SQL。请参见示例 [查询某段时间内执行时间排名 TOP N 的请求](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/8.query-the-top-n-requests-with-the-most-execution-time-1.md)
1. 通过全局 SQL 审计表 (g)v$sql_audit、 SQL Trace 和计划缓存视图查看 SQL 执行信息,初步查找 SQL 请求的流程中导致耗时或消耗资源(如内存、磁盘 IO 等)的 SQL。请参见示例 [查询某段时间内执行时间排名 TOP N 的请求](../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/8.query-the-top-n-requests-with-the-most-execution-time-1.md)
2. 单条 SQL 的执行性能往往与该 SQL 的执行计划相关,因此,执行计划的分析是最重要的手段。通过执行 EXPALIN 命令查看优化器针对给定 SQL 生成的逻辑执行计划,确定可能的调优方向。请参见示例 [查看执行计划形状并做分析](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/3.view-and-analyze-the-execution-plan-1.md)
2. 单条 SQL 的执行性能往往与该 SQL 的执行计划相关,因此,执行计划的分析是最重要的手段。通过执行 EXPALIN 命令查看优化器针对给定 SQL 生成的逻辑执行计划,确定可能的调优方向。请参见示例 [查看执行计划形状并做分析](../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/3.view-and-analyze-the-execution-plan-1.md)
关于执行计划的详细信息请参考 [SQL 执行计划简介](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/1.introduction-to-sql-execution-plans-2.md)
关于执行计划的详细信息请参考 [SQL 执行计划简介](../../12.sql-optimization-guide-1/2.sql-execution-plan-3/1.introduction-to-sql-execution-plans-2.md)
3. 找到具体的慢 SQL,为了使某些 SQL 的执行时间或资源消耗符合预期,常见的优化方式如下:
......
......@@ -5,11 +5,11 @@
根据如下步骤查看执行计划形状并做分析:
1. 通过 `EXPLAIN` 命令查看执行计划形状,或者通过实时执行计划展示查看缓存执行计划。详细信息请参见 [SQL 执行计划简介](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/1.introduction-to-sql-execution-plans-2.md)[实时执行计划展示](t1962412.html#topic-1962412)
1. 通过 `EXPLAIN` 命令查看执行计划形状,或者通过实时执行计划展示查看缓存执行计划。详细信息请参见 [SQL 执行计划简介](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/1.introduction-to-sql-execution-plans-2.md)[实时执行计划展示](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/5.real-time-execution-plan-display-3.md)
2. 获得执行计划形状后,可以分析索引、联接顺序、 联接算法等选择是否合理正确。详细信息请参见 [访问路径](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/1.access-path-3/1.overview-16.md)[联接顺序](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/3.join-order-3.md)[联接算法](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/2.join-algorithm-6.md)
2. 获得执行计划形状后,可以分析索引、联接顺序、 联接算法等选择是否合理正确。详细信息请参见 [访问路径](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/1.access-path-3/1.overview-16.md)[联接顺序](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/3.join-order-3.md)[联接算法](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/2.join-algorithm-6.md)
......
......@@ -7,10 +7,10 @@
* 使用 sql_audit 查看统计数据并分析该 SQL 的执行计划。详细步骤请参考示例
[分析 RT 突然抖动的 SQL](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/2.sql-statement-that-analyzes-sudden-jitter-of-rt-1.md)
[分析 RT 突然抖动的 SQL](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/2.sql-statement-that-analyzes-sudden-jitter-of-rt-1.md)
* 分析下执行计划是否正确。详细步骤请参考示例 [查看执行计划形状并做分析](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/3.view-and-analyze-the-execution-plan-1.md)
* 分析下执行计划是否正确。详细步骤请参考示例 [查看执行计划形状并做分析](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/3.view-and-analyze-the-execution-plan-1.md)
......
......@@ -7,7 +7,7 @@
不同方式的联接算法为 SQL 调优提供了更多的选择,可以使得 SQL 调优时能够根据表的数据特性选择合适的联接算法,从而让多表联接组合起来变得更加高效。
联接语句在数据中由联接算法实现,主要的联接算法有 NESTED LOOP JOIN、HASH JOIN 和 MERGE JOIN。由于三种算法在不同的场景下各有优劣,优化器会自动选择联接算法。关于各算法的原理,请参见 [联接算法](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/2.join-algorithm-6.md)
联接语句在数据中由联接算法实现,主要的联接算法有 NESTED LOOP JOIN、HASH JOIN 和 MERGE JOIN。由于三种算法在不同的场景下各有优劣,优化器会自动选择联接算法。关于各算法的原理,请参见 [联接算法](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/2.join-algorithm-6.md)
针对联接顺序及联接算法的选择,OceanBase 数据库也提供了相关 HINT 机制进行控制,以方便用户根据自身的实际需求去选择何种联接顺序及联接算法以进行多表的联接。
......@@ -224,7 +224,7 @@ NESTED LOOP JOIN 还有以下两种实现的算法:
在 outputs \& filters 的输出结果中 `nl_param` 出现参数 `[t2.c1]`,说明执行了条件下压优化。详细信息请参考 [JOIN](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/3.JOIN-1-2.md)
在 outputs \& filters 的输出结果中 `nl_param` 出现参数 `[t2.c1]`,说明执行了条件下压优化。详细信息请参考 [JOIN](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/3.JOIN-1-2.md)
一般地,在进行查询优化时,OceanBase 数据库优化器会优先选择 INDEX NESTED LOOP JOIN,然后检查是否可以使用 BATCH NESTED LOOP JOIN,这两种优化方式可以一起使用,最后才会选择 NESTED LOOP JOIN。
......
......@@ -147,7 +147,7 @@ USING HINT /*+ INDEX(t1 idx_c2)*/ ;
* Hint 格式为` /*+ xxx */`,关于 Hint 说明的详细信息,请参考 [Optimizer Hint。](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/6.manage-execution-plans-1/1.optimizer-hint-1.md)
* Hint 格式为` /*+ xxx */`,关于 Hint 说明的详细信息,请参考 [Optimizer Hint。](../../../12.sql-optimization-guide-1/4.sql-optimization-1/6.manage-execution-plans-1/1.optimizer-hint-1.md)
......@@ -301,7 +301,7 @@ Query OK, 0 rows affected (0.01 sec)
确定是通过绑定的 Outline 生成的计划后,需要确定生成的计划是否符合预期,可以通过查询`gv$plan_cache_plan_stat` 表查看 `plan_cache` 中缓存的执行计划形状,具体查看方式可参考
[实时执行计划展示](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/5.real-time-execution-plan-display-3.md)
[实时执行计划展示](../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/5.real-time-execution-plan-display-3.md)
```javascript
obclient>SELECT OPERATOR, NAME FROM oceanbase.gv$plan_cache_plan_explain
......
......@@ -21,11 +21,11 @@
#### **访问路径**
访问某张表时使用的访问方式,包括主表访问和二级索引访问两类。具体参见 [访问路径](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/1.access-path-3/1.overview-16.md)
访问某张表时使用的访问方式,包括主表访问和二级索引访问两类。具体参见 [访问路径](../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/1.access-path-3/1.overview-16.md)
#### **联接顺序**
多表联接时各表之间的联接顺序,目前 OceanBase 数据库仅支持左深树的联接顺序。具体参见 [联接顺序](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/3.join-order-3.md)
多表联接时各表之间的联接顺序,目前 OceanBase 数据库仅支持左深树的联接顺序。具体参见 [联接顺序](../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/3.join-order-3.md)
#### **联接算法**
......@@ -37,7 +37,7 @@
#### **执行计划绑定**
用户通过给定 outline 来指定某条 SQL 的执行计划的过程,具体参见 [计划绑定](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/6.manage-execution-plans-1/2.plan-binding-1.md)
用户通过给定 outline 来指定某条 SQL 的执行计划的过程,具体参见 [计划绑定](../12.sql-optimization-guide-1/4.sql-optimization-1/6.manage-execution-plans-1/2.plan-binding-1.md)
#### **SQL Plan Management(** **SPM)**
......
......@@ -32,4 +32,4 @@ OceanBase 数据库的系统变量主要分为全局变量和 Session 变量:
本章主要介绍 OceanBase 数据库中的所有系统变量及其缺省值说明(包括参数含义、取值范围和使用说明等)。系统变量的查看和设置相关操作,请参见 [租户管理变量](t1940574.html#topic-1940574)章节。
本章主要介绍 OceanBase 数据库中的所有系统变量及其缺省值说明(包括参数含义、取值范围和使用说明等)。系统变量的查看和设置相关操作,请参见 [租户管理变量](../../6.administrator-guide/3.basic-database-management/5.tenants/9.tenant-management-variables.md)章节。
......@@ -13,4 +13,4 @@ wait_timeout 用于设置服务器关闭非交互连接之前等待活动的秒
在会话启动时,会根据全局 wait_timeout 的值或全局 interactive_timeout 的值来初始化会话 wait_timeout 的值,具体根据全局 wait_timeout 的值还是全局 interactive_timeout 的值取决于客户端类型。客户端类型由 `mysql_real_connect()` 的连接选项 CLIENT_INTERACTIVE 定义。 interactive_timeout 变量相关信息请参见 **[](gi9a68)** [interactive_timeout](/zh-CN/14.reference-guide-oracle-mode/2.system-variable-1/13.interactive_timeout-1.md)
在会话启动时,会根据全局 wait_timeout 的值或全局 interactive_timeout 的值来初始化会话 wait_timeout 的值,具体根据全局 wait_timeout 的值还是全局 interactive_timeout 的值取决于客户端类型。客户端类型由 `mysql_real_connect()` 的连接选项 CLIENT_INTERACTIVE 定义。 interactive_timeout 变量相关信息请参见 **[](gi9a68)** [interactive_timeout](../../14.reference-guide-oracle-mode/2.system-variable-1/13.interactive_timeout-1.md)
......@@ -52,7 +52,7 @@ xx.xx.xx.xx
当 OBServer 启动后,如果未指定配置项,则系统会使用指定配置项的默认值。更多配置项的查看和设置操作请参见 [集群参数管理](/zh-CN/6.administrator-guide/3.basic-database-management/1.oceanbase-cluster-management/7.cluster-parameter-management/1.overview-of-cluster-parameter-management.md) 章节。
当 OBServer 启动后,如果未指定配置项,则系统会使用指定配置项的默认值。更多配置项的查看和设置操作请参见 [集群参数管理](../../6.administrator-guide/3.basic-database-management/1.oceanbase-cluster-management/7.cluster-parameter-management/1.overview-of-cluster-parameter-management.md) 章节。
与系统变量对比
----------------------------
......
......@@ -13,4 +13,4 @@ trace_log_sampling_interval 用于设置定期打印跟踪日志信息的时间
当 enable_record_trace_log 设置为 false 时,由 trace_log_sampling_interval 决定打印慢查询和白名单信息的时间间隔。enable_record_trace_log 配置项相关信息请参见 [enable_record_trace_log](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/66.enable_record_trace_log-1.md)
当 enable_record_trace_log 设置为 false 时,由 trace_log_sampling_interval 决定打印慢查询和白名单信息的时间间隔。enable_record_trace_log 配置项相关信息请参见 [enable_record_trace_log](../../14.reference-guide-oracle-mode/3.system-configuration-items-1/66.enable_record_trace_log-1.md)
......@@ -21,7 +21,7 @@ workers_per_cpu_quota
* `cpu_quota_concurrency` 表示租户在每个 CPU 上活跃的工作线程数,也即并发数。`cpu_quota_concurrency` 配置项的详细信息,请参见 [cpu_quota_concurrency](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/35.cpu_quota_concurrency-1.md)
* `cpu_quota_concurrency` 表示租户在每个 CPU 上活跃的工作线程数,也即并发数。`cpu_quota_concurrency` 配置项的详细信息,请参见 [cpu_quota_concurrency](../../14.reference-guide-oracle-mode/3.system-configuration-items-1/35.cpu_quota_concurrency-1.md)
......
......@@ -19,7 +19,7 @@ cpu_quota_concurrency 用于设置租户的每个 CPU 配额所允许的最大
* `workers_per_cpu_quota`表示租户在每个cpu上能分配的最大 worker 数
workers_per_cpu_quota 配置项详细信息,请参见 [workers_per_cpu_quota](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/209.workers_per_cpu_quota-1.md)
workers_per_cpu_quota 配置项详细信息,请参见 [workers_per_cpu_quota](../../14.reference-guide-oracle-mode/3.system-configuration-items-1/209.workers_per_cpu_quota-1.md)
* `cpu_quota_concurrency`表示租户在每个cpu上活跃的 worker 数,也即并发数
......
......@@ -13,4 +13,4 @@ freeze_trigger_percentage 用于设置触发全局冻结的租户使用内存阈
详细信息请参见 [enable_global_freeze_trigger](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/61.enable_global_freeze_trigger-1.md)
详细信息请参见 [enable_global_freeze_trigger](../../14.reference-guide-oracle-mode/3.system-configuration-items-1/61.enable_global_freeze_trigger-1.md)
......@@ -32,4 +32,4 @@ OceanBase 数据库的系统变量主要分为全局变量和 Session 变量:
本章主要介绍 OceanBase 数据库中的所有系统变量及其缺省值说明(包括参数含义、取值范围和使用说明等)。系统变量的查看和设置相关操作,请参见 [租户管理变量](t1940574.html#topic-1940574)章节。
本章主要介绍 OceanBase 数据库中的所有系统变量及其缺省值说明(包括参数含义、取值范围和使用说明等)。系统变量的查看和设置相关操作,请参见 [租户管理变量](../../6.administrator-guide/3.basic-database-management/5.tenants/9.tenant-management-variables.md)章节。
......@@ -13,4 +13,4 @@ wait_timeout 用于设置服务器关闭非交互连接之前等待活动的秒
在会话启动时,会根据全局 wait_timeout 的值或全局 interactive_timeout 的值来初始化会话 wait_timeout 的值,具体根据全局 wait_timeout 的值还是全局 interactive_timeout 的值取决于客户端类型。客户端类型由 `mysql_real_connect()` 的连接选项 CLIENT_INTERACTIVE 定义。 interactive_timeout 变量相关信息请参见 **[](gi9a68)** [interactive_timeout](/zh-CN/14.reference-guide-oracle-mode/2.system-variable-1/13.interactive_timeout-1.md)
在会话启动时,会根据全局 wait_timeout 的值或全局 interactive_timeout 的值来初始化会话 wait_timeout 的值,具体根据全局 wait_timeout 的值还是全局 interactive_timeout 的值取决于客户端类型。客户端类型由 `mysql_real_connect()` 的连接选项 CLIENT_INTERACTIVE 定义。 interactive_timeout 变量相关信息请参见 **[](gi9a68)** [interactive_timeout](../../14.reference-guide-oracle-mode/2.system-variable-1/13.interactive_timeout-1.md)
......@@ -52,7 +52,7 @@ xx.xx.xx.xx
当 OBServer 启动后,如果未指定配置项,则系统会使用指定配置项的默认值。更多配置项的查看和设置操作请参见 [集群参数管理](/zh-CN/6.administrator-guide/3.basic-database-management/1.oceanbase-cluster-management/7.cluster-parameter-management/1.overview-of-cluster-parameter-management.md) 章节。
当 OBServer 启动后,如果未指定配置项,则系统会使用指定配置项的默认值。更多配置项的查看和设置操作请参见 [集群参数管理](../../6.administrator-guide/3.basic-database-management/1.oceanbase-cluster-management/7.cluster-parameter-management/1.overview-of-cluster-parameter-management.md) 章节。
与系统变量对比
----------------------------
......
......@@ -13,4 +13,4 @@ trace_log_sampling_interval 用于设置定期打印跟踪日志信息的时间
当 enable_record_trace_log 设置为 false 时,由 trace_log_sampling_interval 决定打印慢查询和白名单信息的时间间隔。enable_record_trace_log 配置项相关信息请参见 [enable_record_trace_log](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/66.enable_record_trace_log-1.md)
当 enable_record_trace_log 设置为 false 时,由 trace_log_sampling_interval 决定打印慢查询和白名单信息的时间间隔。enable_record_trace_log 配置项相关信息请参见 [enable_record_trace_log](../../14.reference-guide-oracle-mode/3.system-configuration-items-1/66.enable_record_trace_log-1.md)
......@@ -21,7 +21,7 @@ workers_per_cpu_quota
* `cpu_quota_concurrency` 表示租户在每个 CPU 上活跃的工作线程数,也即并发数。`cpu_quota_concurrency` 配置项的详细信息,请参见 [cpu_quota_concurrency](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/35.cpu_quota_concurrency-1.md)
* `cpu_quota_concurrency` 表示租户在每个 CPU 上活跃的工作线程数,也即并发数。`cpu_quota_concurrency` 配置项的详细信息,请参见 [cpu_quota_concurrency](../../14.reference-guide-oracle-mode/3.system-configuration-items-1/35.cpu_quota_concurrency-1.md)
......
......@@ -19,7 +19,7 @@ cpu_quota_concurrency 用于设置租户的每个 CPU 配额所允许的最大
* `workers_per_cpu_quota`表示租户在每个cpu上能分配的最大 worker 数
workers_per_cpu_quota 配置项详细信息,请参见 [workers_per_cpu_quota](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/209.workers_per_cpu_quota-1.md)
workers_per_cpu_quota 配置项详细信息,请参见 [workers_per_cpu_quota](../../14.reference-guide-oracle-mode/3.system-configuration-items-1/209.workers_per_cpu_quota-1.md)
* `cpu_quota_concurrency`表示租户在每个cpu上活跃的 worker 数,也即并发数
......
......@@ -13,4 +13,4 @@ freeze_trigger_percentage 用于设置触发全局冻结的租户使用内存阈
详细信息请参见 [enable_global_freeze_trigger](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/61.enable_global_freeze_trigger-1.md)
详细信息请参见 [enable_global_freeze_trigger](../../14.reference-guide-oracle-mode/3.system-configuration-items-1/61.enable_global_freeze_trigger-1.md)
......@@ -5,15 +5,15 @@
快速入门指南包含以下内容:
1. [安装 OBD](/zh-CN/2.quickstart/3.use-obd-to-obtain-the-oceanbase-database.md)
1. [安装 OBD](../2.quickstart/3.use-obd-to-obtain-the-oceanbase-database.md)
2. [使用 OBD 部署 OceanBase 数据库](/zh-CN/2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
2. [使用 OBD 部署 OceanBase 数据库](../2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
3. [基本操作](/zh-CN/2.quickstart/6.basic-operations/1.database-operations.md)
3. [基本操作](../2.quickstart/6.basic-operations/1.database-operations.md)
......
......@@ -5,11 +5,11 @@
获取 OceanBase 数据库最快的方式是使用 OBD 获取,因此推荐您使用此方式体验 OceanBase 数据库。您还可以通过以下方式获取 OceanBase 数据库:
* [使用源码构建 OceanBase 数据库](/zh-CN/4.installation-and-deployment/3.get-the-oceanbase-database-by-using-source-code.md)
* [使用源码构建 OceanBase 数据库](../4.installation-and-deployment/3.get-the-oceanbase-database-by-using-source-code.md)
* [使用 RPM 包安装 OceanBase 数据库](/zh-CN/4.installation-and-deployment/2.install-the-oceanbase-database-by-using-the-rpm-package.md)
* [使用 RPM 包安装 OceanBase 数据库](../4.installation-and-deployment/2.install-the-oceanbase-database-by-using-the-rpm-package.md)
......@@ -21,13 +21,13 @@
在安装 OceanBase 数据库之前,您需要确认已下信息:
* 您的机器满足软硬件要求。详情参考 [资源准备](/zh-CN/4.installation-and-deployment/1.resource-preparation.md)
* 您的机器满足软硬件要求。详情参考 [资源准备](../4.installation-and-deployment/1.resource-preparation.md)
* 您的机器可以连接公网。
如果您的机器不能连接公网,您需要 [使用 RPM 包安装 OceanBase 数据库](/zh-CN/4.installation-and-deployment/2.install-the-oceanbase-database-by-using-the-rpm-package.md)
如果您的机器不能连接公网,您需要 [使用 RPM 包安装 OceanBase 数据库](../4.installation-and-deployment/2.install-the-oceanbase-database-by-using-the-rpm-package.md)
......@@ -64,5 +64,5 @@ source /etc/profile.d/obd.sh
后续操作
-------------------------
如果您的机器可以连接公网,在您执行了 `obd cluster deploy` 命令之后,OBD 将检查您的目标机器是否有 OceanBase 数据库安装包。如果没有安装包,OBD 将自动从 yum 源获取。详情参考 [使用 OBD 部署 OceanBase 数据库](/zh-CN/2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
如果您的机器可以连接公网,在您执行了 `obd cluster deploy` 命令之后,OBD 将检查您的目标机器是否有 OceanBase 数据库安装包。如果没有安装包,OBD 将自动从 yum 源获取。详情参考 [使用 OBD 部署 OceanBase 数据库](../2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
......@@ -24,7 +24,7 @@
在连接 OceanBase 数据库之前,请您确认以下信息:
* 您已经在中控机器安装了 OBD。详细信息,参考 [安装 OBD](/zh-CN/2.quickstart/3.use-obd-to-obtain-the-oceanbase-database.md)
* 您已经在中控机器安装了 OBD。详细信息,参考 [安装 OBD](../2.quickstart/3.use-obd-to-obtain-the-oceanbase-database.md)
......
......@@ -231,7 +231,7 @@ grep -F "[32075]" observer.log
内部表
------------------------
OceanBase 数据库的内部表比较多,本节仅介绍部分常见的通用表,其他类型的内部表(例如集群管控、性能视图、迁移复制、合并转储等)参考 [系统视图](/zh-CN/13.reference-guide/1.system-view/1.overview-4.md)
OceanBase 数据库的内部表比较多,本节仅介绍部分常见的通用表,其他类型的内部表(例如集群管控、性能视图、迁移复制、合并转储等)参考 [系统视图](../13.reference-guide/1.system-view/1.overview-4.md)
本文中的内部表默认是 root 用户在 sys 租户的 OceanBase 数据库中可见的表(连接串示例:`obclient -u root@sys -D oceanbase`),下文不再指定数据库名称。
......
......@@ -28,7 +28,7 @@
更多 `CREATE DATABASE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [CREATE DATABASE](/zh-CN/10.sql-reference/5.sql-statement/11.create-database.md)章节。
更多 `CREATE DATABASE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [CREATE DATABASE](../../10.sql-reference/5.sql-statement/11.create-database.md)章节。
......@@ -66,7 +66,7 @@ obclient> ALTER DATABASE test2 READ WRITE;
更多 `ALTER DATABASE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [ALTER DATABASE](/zh-CN/10.sql-reference/5.sql-statement/2.alter-database.md)章节。
更多 `ALTER DATABASE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [ALTER DATABASE](../../10.sql-reference/5.sql-statement/2.alter-database.md)章节。
删除数据库
--------------------------
......@@ -81,4 +81,4 @@ obclient> DROP DATABASE my_db;
更多 `DROP DATABASE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [DROP DATABASE](/zh-CN/10.sql-reference/5.sql-statement/24.drop-database.md)章节。
更多 `DROP DATABASE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [DROP DATABASE](../../10.sql-reference/5.sql-statement/24.drop-database.md)章节。
......@@ -16,7 +16,7 @@ obclient> CREATE TABLE test (c1 int primary key, c2 VARCHAR(3));
更多 `CREATE TABLE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [CREATE TABLE](/zh-CN/10.sql-reference/5.sql-statement/18.create-table.md)章节。
更多 `CREATE TABLE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [CREATE TABLE](../../10.sql-reference/5.sql-statement/18.create-table.md)章节。
查看表
------------------------
......@@ -162,7 +162,7 @@ obclient> SHOW TABLES FROM my_db;
更多 `ALTER TABLE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [ALTER TABLE](/zh-CN/10.sql-reference/5.sql-statement/7.alter-table.md) 章节。
更多 `ALTER TABLE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [ALTER TABLE](../../10.sql-reference/5.sql-statement/7.alter-table.md) 章节。
删除表
------------------------
......@@ -185,4 +185,4 @@ obclient> DROP TABLE IF EXISTS test;
更多 `DROP TABLE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [DROP TABLE](/zh-CN/10.sql-reference/5.sql-statement/30.drop-table.md)章节。
更多 `DROP TABLE` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [DROP TABLE](../../10.sql-reference/5.sql-statement/30.drop-table.md)章节。
......@@ -26,7 +26,7 @@
更多 `CREATE INDEX` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中的 [CREATE INDEX](/zh-CN/10.sql-reference/5.sql-statement/12.create-index.md)[CREATE INDEX](t1944404.html#topic-2616628)章节。
更多 `CREATE INDEX` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中的 [CREATE INDEX](../../10.sql-reference/5.sql-statement/12.create-index.md)章节。
......@@ -62,4 +62,4 @@ obclient> DROP INDEX test_index ON test;
更多 `DROP INDEX` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中的 [DROP INDEX](/zh-CN/10.sql-reference/5.sql-statement/25.drop-index.md)章节。
更多 `DROP INDEX` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中的 [DROP INDEX](../../10.sql-reference/5.sql-statement/25.drop-index.md)章节。
......@@ -54,4 +54,4 @@ Query OK, 0 rows affected (0.11 sec)
更多 `INSERT `语句相关的语法请参见《SQL 参考(MySQL 模式)》中 [INSERT](/zh-CN/10.sql-reference/5.sql-statement/41.INSERT.md)章节。
更多 `INSERT `语句相关的语法请参见《SQL 参考(MySQL 模式)》中 [INSERT](../../10.sql-reference/5.sql-statement/41.INSERT.md)章节。
......@@ -156,4 +156,4 @@ obclient> SELECT * FROM t2;
更多 `DELETE `语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [DELETE](/zh-CN/10.sql-reference/5.sql-statement/23.DELETE.md)章节。
更多 `DELETE `语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [DELETE](../../10.sql-reference/5.sql-statement/23.DELETE.md)章节。
......@@ -150,4 +150,4 @@ obclient> SELECT * FROM t2;
更多 `UPDATE` 语句相关的语法请参见《SQL 参考(MySQL 模式)》中 [UPDATE](/zh-CN/10.sql-reference/5.sql-statement/61.UPDATE.md)章节。
更多 `UPDATE` 语句相关的语法请参见《SQL 参考(MySQL 模式)》中 [UPDATE](../../10.sql-reference/5.sql-statement/61.UPDATE.md)章节。
......@@ -74,7 +74,7 @@ obclient> SELECT * FROM a;
更多 `SELECT` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [SELECT](/zh-CN/10.sql-reference/5.sql-statement/54.SELECT.md)章节。
更多 `SELECT` 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 [SELECT](../../10.sql-reference/5.sql-statement/54.SELECT.md)章节。
......
......@@ -58,4 +58,4 @@ obclient> SELECT * FROM t_insert;
更多事务控制语句相关的说明请参见 [关于事务控制语句](/zh-CN/7.developer-guide-1/3.about-dml-statements-and-transactions/2.about-transactional-control-statements.md)
更多事务控制语句相关的说明请参见 [关于事务控制语句](../../7.developer-guide-1/3.about-dml-statements-and-transactions/2.about-transactional-control-statements.md)
......@@ -105,4 +105,4 @@ obclient> SELECT * FROM t_insert;
更多事务控制语句相关的说明请参见 [关于事务控制语句](/zh-CN/7.developer-guide-1/3.about-dml-statements-and-transactions/2.about-transactional-control-statements.md)
更多事务控制语句相关的说明请参见 [关于事务控制语句](../../7.developer-guide-1/3.about-dml-statements-and-transactions/2.about-transactional-control-statements.md)
......@@ -16,7 +16,7 @@ obclient> CREATE TABLE test (c1 int primary key, c2 VARCHAR(3)) REPLICA_NUM = 3,
更多 `CREATE TABLE` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [CREATE TABLE](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/14.create-table-1.md)章节。
更多 `CREATE TABLE` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [CREATE TABLE](../../11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/14.create-table-1.md)章节。
修改表
------------------------
......@@ -143,7 +143,7 @@ obclient> CREATE TABLE test (c1 int primary key, c2 VARCHAR(3)) REPLICA_NUM = 3,
更多 `ALTER TABLE` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [ALTER TABLE](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/5.alter-table-1.md)章节。
更多 `ALTER TABLE` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [ALTER TABLE](../../11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/5.alter-table-1.md)章节。
删除表
------------------------
......@@ -159,4 +159,4 @@ Query OK, 0 rows affected (0.04 sec)
更多 `DROP TABLE` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [DROP TABLE](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/24.drop-table-1.md)章节。
更多 `DROP TABLE` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [DROP TABLE](../../11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/24.drop-table-1.md)章节。
......@@ -29,7 +29,7 @@
更多 `CREATE INDEX` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [CREATE INDEX](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/8.create-index-1.md)章节。
更多 `CREATE INDEX` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [CREATE INDEX](../../11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/8.create-index-1.md)章节。
查看索引
-------------------------
......@@ -73,4 +73,4 @@ obclient> DROP INDEX test_index;
更多 `DROP INDEX` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [DROP INDEX](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/19.drop-index-1.md)章节。
更多 `DROP INDEX` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [DROP INDEX](../../11.sql-reference-oracle-mode/9.sql-statement-1/1.DDL-1/19.drop-index-1.md)章节。
......@@ -76,4 +76,4 @@ Empty set (0.02 sec)
更多 `INSERT` 语句相关的语法请参见《SQL 参考(Oracle 模式)》中 [INSERT](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/2.DML/2.INSERT-1.md)章节。
更多 `INSERT` 语句相关的语法请参见《SQL 参考(Oracle 模式)》中 [INSERT](../../11.sql-reference-oracle-mode/9.sql-statement-1/2.DML/2.INSERT-1.md)章节。
......@@ -51,4 +51,4 @@ obclient> SELECT * FROM t1;
更多 `DELETE` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [DELETE](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/2.DML/1.DELETE-1.md)章节。
更多 `DELETE` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [DELETE](../../11.sql-reference-oracle-mode/9.sql-statement-1/2.DML/1.DELETE-1.md)章节。
......@@ -71,4 +71,4 @@
更多 `UPDATE` 语句相关的语法请参见《SQL 参考(Oracle 模式)》中 [UPDATE](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/2.DML/8.UPDATE-1.md)章节。
更多 `UPDATE` 语句相关的语法请参见《SQL 参考(Oracle 模式)》中 [UPDATE](../../11.sql-reference-oracle-mode/9.sql-statement-1/2.DML/8.UPDATE-1.md)章节。
......@@ -77,4 +77,4 @@ obclient> SELECT * FROM a;
更多 `SELECT` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [SELECT](/zh-CN/11.sql-reference-oracle-mode/9.sql-statement-1/2.DML/7.SELECT-1.md)章节。
更多 `SELECT` 语句相关的语法说明请参见《SQL 参考(Oracle 模式)》中 [SELECT](../../11.sql-reference-oracle-mode/9.sql-statement-1/2.DML/7.SELECT-1.md)章节。
......@@ -58,4 +58,4 @@ obclient> SELECT * FROM t_insert;
更多事务控制语句相关的说明请参见 [关于事务控制语句](/zh-CN/8.developer-guide-oracle-mode/3.about-dml-statements-and-transactions-1/2.about-transactional-control-statements-1.md)
更多事务控制语句相关的说明请参见 [关于事务控制语句](../../8.developer-guide-oracle-mode/3.about-dml-statements-and-transactions-1/2.about-transactional-control-statements-1.md)
......@@ -103,4 +103,4 @@ obclient> SELECT * FROM t_insert;
更多事务控制语句相关的说明请参见 [关于事务控制语句](/zh-CN/8.developer-guide-oracle-mode/3.about-dml-statements-and-transactions-1/2.about-transactional-control-statements-1.md)
更多事务控制语句相关的说明请参见 [关于事务控制语句](../../8.developer-guide-oracle-mode/3.about-dml-statements-and-transactions-1/2.about-transactional-control-statements-1.md)
......@@ -51,7 +51,7 @@ TPC-H 基准测试由 TPC-D(由 TPC 于 1994 年制定的标准,用于决策
* OceanBase 数据库:详细信息,参考 [快速入门指南](/zh-CN/2.quickstart/1.quick-start-guide-1.md)
* OceanBase 数据库:详细信息,参考 [快速入门指南](../2.quickstart/1.quick-start-guide-1.md)
......@@ -66,7 +66,7 @@ TPC-H 基准测试由 TPC-D(由 TPC 于 1994 年制定的标准,用于决策
OceanBase 集群规模为 1:1:1。
2. 部署成功后,新建执行 TPC-H 测试的租户及用户(请勿直接使用 sys 租户进行测试)。将租户的 `primary_zone` 设置为 `RANDOM`。租户详情,参考 [创建用户租户。](/zh-CN/6.administrator-guide/3.basic-database-management/5.tenants/2.create-a-user-tenant.md)
2. 部署成功后,新建执行 TPC-H 测试的租户及用户(请勿直接使用 sys 租户进行测试)。将租户的 `primary_zone` 设置为 `RANDOM`。租户详情,参考 [创建用户租户。](../6.administrator-guide/3.basic-database-management/5.tenants/2.create-a-user-tenant.md)
`RANDOM` 表示新建表分区的 Leader 随机到这 3 台机器。
......
......@@ -58,7 +58,7 @@ OceanBase TPC-H 性能测试报告
* 测试步骤详见 [OceanBase 数据库 TPC-H 测试](/zh-CN/3.performance-white-paper/1.tpch-test-for-oceanbase.md)
* 测试步骤详见 [OceanBase 数据库 TPC-H 测试](../3.performance-white-paper/1.tpch-test-for-oceanbase.md)
......
......@@ -78,7 +78,7 @@ Sysbench 是一个基于 LuaJIT 的可编写脚本的多线程基准测试工具
* OceanBase 数据库:建议单独部署 ODP。详细信息,参考 [使用 OBD 部署 OceanBase 数据库](/zh-CN/2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
* OceanBase 数据库:建议单独部署 ODP。详细信息,参考 [使用 OBD 部署 OceanBase 数据库](../2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
......@@ -88,7 +88,7 @@ Sysbench 是一个基于 LuaJIT 的可编写脚本的多线程基准测试工具
测试方案
-------------------------
1. 通过 OBD 部署 oceanbase集群,ODP 和 Sysbench 单独部署在一台机器上, 作为客户端的压力机器。OceanBase 集群规模为1:1:1,部署成功后先新建跑Sysbench测试的租户及用户(sys租户是管理集群的内置系统租户,请勿直接使用sys租户进行测试),设置租户的primary_zone为RANDOM,RANDOM表示新建表分区的leader随机到这3台机器。租户详情,参考 [创建用户租户。](/zh-CN/6.administrator-guide/3.basic-database-management/5.tenants/2.create-a-user-tenant.md)
1. 通过 OBD 部署 oceanbase集群,ODP 和 Sysbench 单独部署在一台机器上, 作为客户端的压力机器。OceanBase 集群规模为1:1:1,部署成功后先新建跑Sysbench测试的租户及用户(sys租户是管理集群的内置系统租户,请勿直接使用sys租户进行测试),设置租户的primary_zone为RANDOM,RANDOM表示新建表分区的leader随机到这3台机器。租户详情,参考 [创建用户租户。](../6.administrator-guide/3.basic-database-management/5.tenants/2.create-a-user-tenant.md)
......
......@@ -31,7 +31,7 @@ TPC-C 是一个对 OLTP(联机交易处理)系统进行测试的规范,使
* OceanBase 数据库:建议单独部署 ODP。详细信息,参考 [使用 OBD 部署 OceanBase 数据库](/zh-CN/2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
* OceanBase 数据库:建议单独部署 ODP。详细信息,参考 [使用 OBD 部署 OceanBase 数据库](../2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
......@@ -45,7 +45,7 @@ TPC-C 是一个对 OLTP(联机交易处理)系统进行测试的规范,使
* OceanBase 集群规模为 1:1:1。部署成功后,新建执行 TPC-C 测试的租户及用户(sys租户是管理集群的内置系统租户,请勿直接使用 sys 租户进行测试)。将租户的 `primary_zone` 设置为 `RANDOM``RANDOM` 表示新建表分区的 Leader 随机到这 3 台机器。租户详情,参考 [创建用户租户。](/zh-CN/6.administrator-guide/3.basic-database-management/5.tenants/2.create-a-user-tenant.md)
* OceanBase 集群规模为 1:1:1。部署成功后,新建执行 TPC-C 测试的租户及用户(sys租户是管理集群的内置系统租户,请勿直接使用 sys 租户进行测试)。将租户的 `primary_zone` 设置为 `RANDOM``RANDOM` 表示新建表分区的 Leader 随机到这 3 台机器。租户详情,参考 [创建用户租户。](../6.administrator-guide/3.basic-database-management/5.tenants/2.create-a-user-tenant.md)
......
......@@ -8,7 +8,7 @@
在安装 OceanBase 数据库之前,您需要确认已下信息:
* 您的机器满足软硬件要求。详细信息,参考 [资源准备](/zh-CN/4.installation-and-deployment/1.resource-preparation.md)
* 您的机器满足软硬件要求。详细信息,参考 [资源准备](../4.installation-and-deployment/1.resource-preparation.md)
......@@ -82,4 +82,4 @@ obd mirror clone obproxy-3.1.0-1.el7.x86_64.rpm
后续操作
-------------------------
OceanBase 数据库安装完成后,您需要部署 OceanBase 数据库。详情参考 [使用 OBD 部署 OceanBase 数据库](/zh-CN/2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
OceanBase 数据库安装完成后,您需要部署 OceanBase 数据库。详情参考 [使用 OBD 部署 OceanBase 数据库](../2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
......@@ -209,7 +209,7 @@ OceanBase 数据库使用 CMake 作为构建工具,您可以直接使用 CMake
后续操作
-------------------------
您在成功构建 OceanBase 数据库之后,可以使用 OBD 部署 OceanBase 数据库。详细信息参考 [使用 OBD 部署 OceanBase 数据库](/zh-CN/2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
您在成功构建 OceanBase 数据库之后,可以使用 OBD 部署 OceanBase 数据库。详细信息参考 [使用 OBD 部署 OceanBase 数据库](../2.quickstart/4.deploy-the-oceanbase-database-by-using-obd.md)
......
......@@ -5,7 +5,7 @@
不同方式的联接算法为 SQL 调优提供了更多的选择,可以使得 SQL 调优时能够根据表的数据特性选择合适的联接算法,从而让多表联接组合起来变得更加高效。
联接语句在数据库中由联接算法实现,主要的联接算法有 Nested Loop Join、Hash Join 和 Merge Join。由于三种算法在不同的场景下各有优劣,优化器会自主选择最佳联接算法。关于各算法的原理,请参见 [联接算法](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/2.join-algorithm-6.md)
联接语句在数据库中由联接算法实现,主要的联接算法有 Nested Loop Join、Hash Join 和 Merge Join。由于三种算法在不同的场景下各有优劣,优化器会自主选择最佳联接算法。关于各算法的原理,请参见 [联接算法](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/2.join-algorithm-6.md)
针对联接顺序及联接算法的选择,OceanBase 数据库也提供了相关 Hint 机制进行控制,以方便用户根据自身的实际需求去选择何种联接顺序及联接算法以进行多表联接。
......@@ -224,7 +224,7 @@ Nested Loop Join 还有以下两种实现的算法:
`outputs & filters` 的输出结果中 `nl_param` 出现参数 `[t2.c1]`,说明执行了条件下压优化。详细信息请参考 [JOIN](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/3.JOIN-1-2.md)
`outputs & filters` 的输出结果中 `nl_param` 出现参数 `[t2.c1]`,说明执行了条件下压优化。详细信息请参考 [JOIN](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/3.JOIN-1-2.md)
一般地,在进行查询优化时,OceanBase 数据库优化器会优先选择 Index Nested Loop Join,然后检查是否可以使用 Batch Nested Loop Join,这两种优化方式可以一起使用,最后才会选择 Nested Loop Join。
......
......@@ -103,12 +103,12 @@ Outputs & filters:
Q2 查询的执行计划展示中,虽然 SQL 中含有 `LIMIT`,但是并未分配 `LIMIT` 算子,而是将相关表达式下压到了 `TABLE SCAN` 算子上,这种下压 `LIMIT` 行为是 SQL 优化器的一种优化方式,详细信息请参见 [TABLE SCAN](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/1.table-scan-2.md)
Q2 查询的执行计划展示中,虽然 SQL 中含有 `LIMIT`,但是并未分配 `LIMIT` 算子,而是将相关表达式下压到了 `TABLE SCAN` 算子上,这种下压 `LIMIT` 行为是 SQL 优化器的一种优化方式,详细信息请参见 [TABLE SCAN](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/1.table-scan-2.md)
Oracle 模式下将含有 COUNT 算子的 SQL 改写为 LIMIT 算子
-------------------------------------------------------------
由于 Oracle 模式含有 COUNT 的 SQL 改写为 LIMIT 场景在 COUNT 算子章节已经有过相关介绍,详细信息请参见 [COUNT](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/4.COUNT-1-2-3-4.md)
由于 Oracle 模式含有 COUNT 的 SQL 改写为 LIMIT 场景在 COUNT 算子章节已经有过相关介绍,详细信息请参见 [COUNT](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/4.COUNT-1-2-3-4.md)
Oracle 模式下含有 FETCH 的 SQL 场景
------------------------------------------------
......
......@@ -44,7 +44,7 @@ Outputs & filters:
目前 `LIMIT` 算子只支持 MySQL 模式的 SQL 场景。详细信息请参考 [LIMIT](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
目前 `LIMIT` 算子只支持 MySQL 模式的 SQL 场景。详细信息请参考 [LIMIT](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
上述示例中,Q1 查询的执行计划展示中的 `outputs & filters` 详细列出了 `SUBPLAN SCAN` 算子的输出信息如下:
......
......@@ -195,7 +195,7 @@ Outputs & filters:
其中,`PX PARTITION ITERATO` 算子用于按照分区粒度迭代数据,详细信息请参见 [GI](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/24.GI-1-2.md)
其中,`PX PARTITION ITERATO` 算子用于按照分区粒度迭代数据,详细信息请参见 [GI](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/24.GI-1-2.md)
上述示例的执行计划展示中的 `outputs & filters` 详细列出了 `EXCH-IN/OUT (HASH)` 算子的输出信息如下:
......
......@@ -64,7 +64,7 @@ Outputs & filters:
其中,`MATERIAL` 算子用于物化下层算子输出的数据,详细信息请参见 [MATERIAL](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/10.MATERIAL-1-2.md)
其中,`MATERIAL` 算子用于物化下层算子输出的数据,详细信息请参见 [MATERIAL](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/10.MATERIAL-1-2.md)
```javascript
Q2:
......
......@@ -91,4 +91,4 @@ Outputs & filters:
从上述执行计划示例的输出结果可以发现,虽然 SQL 中含有 `ROWNUM`,但是经过 SQL 优化器改写之后,已经将涉及含有 `ROWNUM` 的表达式转换为了等价的 `LIMIT` 表达式,转换的好处在于可以做更多的优化,详细信息请参见 [LIMIT](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
从上述执行计划示例的输出结果可以发现,虽然 SQL 中含有 `ROWNUM`,但是经过 SQL 优化器改写之后,已经将涉及含有 `ROWNUM` 的表达式转换为了等价的 `LIMIT` 表达式,转换的好处在于可以做更多的优化,详细信息请参见 [LIMIT](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
......@@ -196,4 +196,4 @@ obclient>ALTER SYSTEM FLUSH PLAN CACHE [tenant_list] [global]
有关视图的详细参数信息,请参考 [计划缓存相关视图](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/3.plan-cache-view.md)
有关视图的详细参数信息,请参考 [计划缓存相关视图](../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/3.plan-cache-view.md)
......@@ -331,4 +331,4 @@ OceanBase 数据库提供了系统视图 `gv$sql_audit/v$sql_audit` 来查看并
`gv$sql_audit/v$sql_audit` 包含字段较多,其中与并行执行相关的字段为:`qc_id``dfo_id``sqc_id``worker_id`
详细信息请参考 [(g)v$sql_audit 介绍](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/1.g-v-sql_audit-introduction.md)
详细信息请参考 [(g)v$sql_audit 介绍](../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/1.g-v-sql_audit-introduction.md)
......@@ -44,7 +44,7 @@ Outputs & filters:
目前 LIMIT 算子只支持 MySQL 模式的 SQL 场景。详细信息请参考 [LIMIT](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
目前 LIMIT 算子只支持 MySQL 模式的 SQL 场景。详细信息请参考 [LIMIT](../../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
上述示例中,Q1 查询的执行计划展示中的 outputs \& filters 详细列出了 SUBPLAN SCAN 算子的输出信息如下:
......
......@@ -195,7 +195,7 @@ Outputs & filters:
其中,PX PARTITION ITERATO 算子用于按照分区粒度迭代数据,详细信息请参见 [GI](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/24.GI-1-2.md)
其中,PX PARTITION ITERATO 算子用于按照分区粒度迭代数据,详细信息请参见 [GI](../../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/24.GI-1-2.md)
上述示例的执行计划展示中的 outputs \& filters 详细列出了 EXCH-IN/OUT (HASH) 算子的输出信息如下:
......
......@@ -64,7 +64,7 @@ Outputs & filters:
其中,MATERIAL 算子用于物化下层算子输出的数据,详细信息请参见 [MATERIAL](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/10.MATERIAL-1-2.md)
其中,MATERIAL 算子用于物化下层算子输出的数据,详细信息请参见 [MATERIAL](../../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/10.MATERIAL-1-2.md)
```javascript
Q2:
......
......@@ -91,4 +91,4 @@ Outputs & filters:
从上述执行计划示例的输出结果可以发现,虽然 SQL 中含有 ROWNUM,但是经过 SQL 优化器改写之后,已经将涉及含有 ROWNUM 的表达式转换为了等价的 LIMIT 表达式,转换的好处在于可以做更多的优化,详细信息请参见 [LIMIT](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
从上述执行计划示例的输出结果可以发现,虽然 SQL 中含有 ROWNUM,但是经过 SQL 优化器改写之后,已经将涉及含有 ROWNUM 的表达式转换为了等价的 LIMIT 表达式,转换的好处在于可以做更多的优化,详细信息请参见 [LIMIT](../../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/2.execution-plan-operator-2/12.LIMIT-1-2.md)
......@@ -196,4 +196,4 @@ obclient>ALTER SYSTEM FLUSH PLAN CACHE [tenant_list] [global]
有关视图的详细参数信息,请参考 [计划缓存相关视图](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/3.plan-cache-view.md)
有关视图的详细参数信息,请参考 [计划缓存相关视图](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/3.plan-cache-view.md)
......@@ -331,4 +331,4 @@ OceanBase 数据库提供了系统视图 `gv$sql_audit/v$sql_audit` 来查看并
`gv$sql_audit/v$sql_audit` 包含字段较多,其中与并行执行相关的字段为:qc_id、dfo_id、sqc_id 和 worker_id。
详细信息请参考 [(g)v$sql_audit 介绍](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/1.g-v-sql_audit-introduction.md)
详细信息请参考 [(g)v$sql_audit 介绍](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/1.g-v-sql_audit-introduction.md)
......@@ -5,13 +5,13 @@ SQL 调优基本流程
在 SQL 调优中,针对慢 SQL 的分析步骤如下:
1. 通过全局 SQL 审计表 (g)v$sql_audit、 SQL Trace 和计划缓存视图查看 SQL 执行信息,初步查找 SQL 请求的流程中导致耗时或消耗资源(如内存、磁盘 IO 等)的 SQL。请参见示例 [查询某段时间内执行时间排名 TOP N 的请求](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/8.query-the-top-n-requests-with-the-most-execution-time-1.md)
1. 通过全局 SQL 审计表 (g)v$sql_audit、 SQL Trace 和计划缓存视图查看 SQL 执行信息,初步查找 SQL 请求的流程中导致耗时或消耗资源(如内存、磁盘 IO 等)的 SQL。请参见示例 [查询某段时间内执行时间排名 TOP N 的请求](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/8.query-the-top-n-requests-with-the-most-execution-time-1.md)
2. 单条 SQL 的执行性能往往与该 SQL 的执行计划相关,因此,执行计划的分析是最重要的手段。通过执行 EXPALIN 命令查看优化器针对给定 SQL 生成的逻辑执行计划,确定可能的调优方向。请参见示例 [查看执行计划形状并做分析](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/3.view-and-analyze-the-execution-plan-1.md)
2. 单条 SQL 的执行性能往往与该 SQL 的执行计划相关,因此,执行计划的分析是最重要的手段。通过执行 EXPALIN 命令查看优化器针对给定 SQL 生成的逻辑执行计划,确定可能的调优方向。请参见示例 [查看执行计划形状并做分析](../../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/3.view-and-analyze-the-execution-plan-1.md)
关于执行计划的详细信息请参考 [SQL 执行计划简介](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/1.introduction-to-sql-execution-plans-2.md)
关于执行计划的详细信息请参考 [SQL 执行计划简介](../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/1.introduction-to-sql-execution-plans-2.md)
3. 找到具体的慢 SQL,为了使某些 SQL 的执行时间或资源消耗符合预期,常见的优化方式如下:
......
......@@ -5,11 +5,11 @@
根据如下步骤查看执行计划形状并做分析:
1. 通过 `EXPLAIN` 命令查看执行计划形状,或者通过实时执行计划展示查看缓存执行计划。详细信息请参见 [SQL 执行计划简介](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/1.introduction-to-sql-execution-plans-2.md)[实时执行计划展示](t1962412.html#topic-1962412)
1. 通过 `EXPLAIN` 命令查看执行计划形状,或者通过实时执行计划展示查看缓存执行计划。详细信息请参见 [SQL 执行计划简介](../../../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/1.introduction-to-sql-execution-plans-2.md)[实时执行计划展示](../../../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/5.real-time-execution-plan-display-3.md)
2. 获得执行计划形状后,可以分析索引、联接顺序、 联接算法等选择是否合理正确。详细信息请参见 [访问路径](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/1.access-path-3/1.overview-16.md)[联接顺序](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/3.join-order-3.md)[联接算法](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/2.join-algorithm-6.md)
2. 获得执行计划形状后,可以分析索引、联接顺序、 联接算法等选择是否合理正确。详细信息请参见 [访问路径](../../../../../../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/1.access-path-3/1.overview-16.md)[联接顺序](../../../../../../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/3.join-order-3.md)[联接算法](../../../../../../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/2.join-algorithm-6.md)
......
......@@ -7,10 +7,10 @@
* 使用 sql_audit 查看统计数据并分析该 SQL 的执行计划。详细步骤请参考示例
[分析 RT 突然抖动的 SQL](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/2.sql-statement-that-analyzes-sudden-jitter-of-rt-1.md)
[分析 RT 突然抖动的 SQL](../../../../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/2.sql-statement-that-analyzes-sudden-jitter-of-rt-1.md)
* 分析下执行计划是否正确。详细步骤请参考示例 [查看执行计划形状并做分析](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/3.view-and-analyze-the-execution-plan-1.md)
* 分析下执行计划是否正确。详细步骤请参考示例 [查看执行计划形状并做分析](../../../../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/4.sql-performance-analysis-example-1/3.view-and-analyze-the-execution-plan-1.md)
......
......@@ -7,7 +7,7 @@
不同方式的联接算法为 SQL 调优提供了更多的选择,可以使得 SQL 调优时能够根据表的数据特性选择合适的联接算法,从而让多表联接组合起来变得更加高效。
联接语句在数据中由联接算法实现,主要的联接算法有 NESTED LOOP JOIN、HASH JOIN 和 MERGE JOIN。由于三种算法在不同的场景下各有优劣,优化器会自动选择联接算法。关于各算法的原理,请参见 [联接算法](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/2.join-algorithm-6.md)
联接语句在数据中由联接算法实现,主要的联接算法有 NESTED LOOP JOIN、HASH JOIN 和 MERGE JOIN。由于三种算法在不同的场景下各有优劣,优化器会自动选择联接算法。关于各算法的原理,请参见 [联接算法](../../../../../../12.sql-optimization-guide-1/4.sql-optimization-1/5.query-optimization-2/2.join-algorithm-5/2.join-algorithm-6.md)
针对联接顺序及联接算法的选择,OceanBase 数据库也提供了相关 HINT 机制进行控制,以方便用户根据自身的实际需求去选择何种联接顺序及联接算法以进行多表的联接。
......@@ -147,7 +147,7 @@ USING HINT /*+ INDEX(t1 idx_c2)*/ ;
* Hint 格式为` /*+ xxx */`,关于 Hint 说明的详细信息,请参考 [Optimizer Hint。](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/6.manage-execution-plans-1/1.optimizer-hint-1.md)
* Hint 格式为` /*+ xxx */`,关于 Hint 说明的详细信息,请参考 [Optimizer Hint。](../../../../../12.sql-optimization-guide-1/4.sql-optimization-1/6.manage-execution-plans-1/1.optimizer-hint-1.md)
......@@ -301,7 +301,7 @@ Query OK, 0 rows affected (0.01 sec)
确定是通过绑定的 Outline 生成的计划后,需要确定生成的计划是否符合预期,可以通过查询`gv$plan_cache_plan_stat` 表查看 `plan_cache` 中缓存的执行计划形状,具体查看方式可参考
[实时执行计划展示](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/5.real-time-execution-plan-display-3.md)
[实时执行计划展示](../../../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/5.real-time-execution-plan-display-3.md)
```javascript
obclient>SELECT OPERATOR, NAME FROM oceanbase.gv$plan_cache_plan_explain
......
......@@ -39,4 +39,4 @@ SQL 是一种"描述型"语言。与"过程型"语言不同,用户在使用 SQ
执行计划的生成过程非常复杂,优化器需要综合考虑多种因素,为 SQL 生成"最佳"的执行计划。因此,查询优化的过程本身也是一个比较耗时的过程,当 SQL 本身执行耗时较短时,查询优化所带来的开销也变得不可忽略。一般来说,数据库在这种场景会缓存之前生成的执行计划,以便在下次执行该 SQL 时直接使用,这种策略被称为"optimize once",即"一次优化"。实际场景中,"一次优化"的策略虽然可以大大降低每次执行时优化的开销,但也会引入一些问题。例如,当同一条 SQL 不同的参数值需要使用不同计划时,"一次优化"的策略就无法处理。针对这种场景,OceanBase 数据库 V2.0 版本引入了自适应计划共享(Adaptive Cursor Sharing)功能,能够较好地处理不同参数条件下的计划选择。
OceanBase 数据库内置有计划缓存,会将首次优化后生成的计划缓存在内存中,随后的执行会首先访问计划缓存,查找是否有可用计划,如果有,则直接使用该计划;否则将执行查询优化的过程,相关内容可以参考 [执行计划缓存](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/3.execution-plan-cache-4.md)章节。
OceanBase 数据库内置有计划缓存,会将首次优化后生成的计划缓存在内存中,随后的执行会首先访问计划缓存,查找是否有可用计划,如果有,则直接使用该计划;否则将执行查询优化的过程,相关内容可以参考 [执行计划缓存](../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/3.execution-plan-cache-4.md)章节。
......@@ -5,7 +5,7 @@
SQL 语句的优化是一个比较耗时的过程,随着 SQL 语句的复杂度增高,优化的时间也会越来越长。为了避免反复执行优化过程,生成的执行计划会加入到计划缓存中,以便再次执行该 SQL 时使用。每一个租户在每一台服务器上都有一个独立的计划缓存,用以缓存在此服务器上处理过的 SQL 计划。
在应用系统中,同一条 SQL 每次执行可能会使用不同的参数,为了减少计划缓存的大小,系统会首先将用户 SQL 的参数做参数化处理,得到与具体参数无关的 SQL 字符串,并使用该字符串作为计划缓存的键值(具体参数化过程见 [快速参数化](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/4.fast-parameterization-3.md)介绍)。
在应用系统中,同一条 SQL 每次执行可能会使用不同的参数,为了减少计划缓存的大小,系统会首先将用户 SQL 的参数做参数化处理,得到与具体参数无关的 SQL 字符串,并使用该字符串作为计划缓存的键值(具体参数化过程见 [快速参数化](../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/4.fast-parameterization-3.md)介绍)。
计划缓存是一个典型的 Key-Value 结构,Key 就是参数化后的 SQL 字符串,Value 就是该条 SQL 所对应的执行计划。在 OceanBase 数据库的计划缓存中,SQL 的执行计划可以分为本地计划、远程计划和分布式计划三种类型。在计划缓存中,同一条 SQL 根据其需要访问的数据不同,可能同时具有三种执行计划。
......@@ -180,7 +180,7 @@ alter system flush plan cache [tenant_list] [global]
详细信息,请参见 [Plan Cache 相关视图](/zh-CN/12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/3.plan-cache-view.md)
详细信息,请参见 [Plan Cache 相关视图](../../../12.sql-optimization-guide-1/4.sql-optimization-1/3.monitor-sql-execution-performance-1/3.plan-cache-view.md)
......@@ -7,7 +7,7 @@
SQL 执行计划的展示是了解 SQL 执行逻辑和性能调优的最重要的手段。用户可以通过 EXPLAIN 命令查看优化器针对给定 SQL 生成的逻辑执行计划。在执行 EXPLAIN 命令时,系统会为给定的 SQL 生成最终的逻辑执行计划并展示给用户,但并不会生成相应的物理执行计划(可执行的代码),也不会真正执行该计划或者将该计划放入计划缓存。
由于 EXPLAIN 并不会真正执行给定的 SQL,用户一般可以放心使用该功能而不用担心在性能调试中可能给系统性能带来影响。也正是因为没有真正执行 SQL,EXPLAIN 所展示的计划是在执行命令时优化器根据当前的用户输入和数据统计信息所生成的逻辑执行计划,而并不是在计划缓存中真正被使用的物理执行计划(二者在某些场景下可能会有不同)。展示计划缓存中的物理计划的方式请参考 [实时执行计划展示](/zh-CN/12.sql-optimization-guide-1/2.sql-execution-plan-3/5.real-time-execution-plan-display-3.md)
由于 EXPLAIN 并不会真正执行给定的 SQL,用户一般可以放心使用该功能而不用担心在性能调试中可能给系统性能带来影响。也正是因为没有真正执行 SQL,EXPLAIN 所展示的计划是在执行命令时优化器根据当前的用户输入和数据统计信息所生成的逻辑执行计划,而并不是在计划缓存中真正被使用的物理执行计划(二者在某些场景下可能会有不同)。展示计划缓存中的物理计划的方式请参考 [实时执行计划展示](../../../12.sql-optimization-guide-1/2.sql-execution-plan-3/5.real-time-execution-plan-display-3.md)
EXPLAIN 命令格式
---------------------
......
......@@ -106,9 +106,9 @@ PARAM_OPTS:
更多配置项信息,请参见《参考指南》文档中 [系统配置项](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/1.system-configuration-items-overview-1.md) 章节。
更多配置项信息,请参见《参考指南》文档中 [系统配置项](../../../../14.reference-guide-oracle-mode/3.system-configuration-items-1/1.system-configuration-items-overview-1.md) 章节。
更多配置项信息,请参见《参考指南》文档中 [系统配置项概述](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/1.system-configuration-items-overview-1.md) 章节。
更多配置项信息,请参见《参考指南》文档中 [系统配置项概述](../../../../14.reference-guide-oracle-mode/3.system-configuration-items-1/1.system-configuration-items-overview-1.md) 章节。
通过 OCP 修改集群参数
----------------------------------
......
......@@ -74,4 +74,4 @@ obclient> CREATE RESOURCE UNIT unit1 max_cpu 1, max_memory 1073741824, max_iops
通过 OCP 创建
------------------------------
OCP 支持在创建租户时,为租户创建新的资源单元。创建租户相关操作请参见 [创建租户](t2017277.html#topic-2017277)
OCP 支持在创建租户时,为租户创建新的资源单元。创建租户相关操作请参见 [创建租户](https://open.oceanbase.com/docs/community/oceanbase-database/V3.1.0/create-a-user-tenant )
......@@ -98,7 +98,7 @@ OceanBase 数据库默认会自动创建 sys 租户,sys 租户负责一部分
详细信息,参考 [资源管理概述](/zh-CN/6.administrator-guide/3.basic-database-management/4.resource-management/1.resource-management-overview.md)。
详细信息,参考 [资源管理概述](../../../6.administrator-guide/3.basic-database-management/4.resource-management/1.resource-management-overview.md)。
......@@ -121,7 +121,7 @@ OceanBase 数据库默认会自动创建 sys 租户,sys 租户负责一部分
PrimaryZone:指定主副本分配到 Zone 内的优先级,逗号两侧优先级相同分号,左侧优先级高于右侧。比如 zone1\>zone2=zone3,如果使用 RANDOM,则 Partition 的 Leader 随机分布。
详细信息,参考 [租户管理概述](/zh-CN/6.administrator-guide/3.basic-database-management/5.tenants/1.tenant-management-overview-1.md)
详细信息,参考 [租户管理概述](../../../6.administrator-guide/3.basic-database-management/5.tenants/1.tenant-management-overview-1.md)
7. 登录租户之前,运行以下命令修改参数:
......@@ -146,5 +146,5 @@ OceanBase 数据库默认会自动创建 sys 租户,sys 租户负责一部分
创建用户
-------------------------
首次使用新租户连接 OceanBase 数据库时,您必须使用 `root` 用户。成功连接后,您可以创建新用户连接 OceanBase 数据库。详细信息,参考 [创建用户](/zh-CN/6.administrator-guide/7.user-rights-management/2.create-user-3.md) 文档。
首次使用新租户连接 OceanBase 数据库时,您必须使用 `root` 用户。成功连接后,您可以创建新用户连接 OceanBase 数据库。详细信息,参考 [创建用户](../../../6.administrator-guide/7.user-rights-management/2.create-user-3.md) 文档。
......@@ -43,7 +43,7 @@ obclient> ALTER TENANT TENANT1 LOCK;
更多 `ALTER TENANT` 语句的信息请参见 [ALTER TENANT](/zh-CN/10.sql-reference/5.sql-statement/9.alter-tenant.md)
更多 `ALTER TENANT` 语句的信息请参见 [ALTER TENANT](../../../10.sql-reference/5.sql-statement/9.alter-tenant.md)
通过 OCP 修改租户的白名单、密码和资源规格
--------------------------------------------
......
......@@ -25,11 +25,11 @@ DROP TENANT $tenant_name PURGE;
* 对于`DROP TENANT`操作:
* 当租户开启回收站功能时,`DROP TENANT`操作表示删除的租户会进入回收站。对于回收站中的租户,后续您可以通过租户级回收站功能进一步删除或恢复该租户,租户级回收站相关操作请参见 [租户级回收站](/zh-CN/6.administrator-guide/8.high-data-availability/1.recycle-bin-management/3.tenant-level-recycle-bin.md)
* 当租户开启回收站功能时,`DROP TENANT`操作表示删除的租户会进入回收站。对于回收站中的租户,后续您可以通过租户级回收站功能进一步删除或恢复该租户,租户级回收站相关操作请参见 [租户级回收站](../../../6.administrator-guide/8.high-data-availability/1.recycle-bin-management/3.tenant-level-recycle-bin.md)
* 当租户关闭回收站功能时,`DROP TENANT`操作表示延迟删除租户,后台线程会进行 GC 动作,租户的信息仍然可以通过内部表查询。租户具体延迟删除的时间由配置项`schema_history_expire_time`控制,默认为 7 天,`schema_history_expire_time`配置项更多信息请参见 [schema_history_expire_time](/zh-CN/14.reference-guide-oracle-mode/3.system-configuration-items-1/167.schema_history_expire_time.md)
* 当租户关闭回收站功能时,`DROP TENANT`操作表示延迟删除租户,后台线程会进行 GC 动作,租户的信息仍然可以通过内部表查询。租户具体延迟删除的时间由配置项`schema_history_expire_time`控制,默认为 7 天,`schema_history_expire_time`配置项更多信息请参见 [schema_history_expire_time](../../../14.reference-guide-oracle-mode/3.system-configuration-items-1/167.schema_history_expire_time.md)
......
......@@ -69,7 +69,7 @@ SET @@foreign_key
以上三种方式的 Session 级别变量的设置是等效的。
更多变量参考信息,请参见 [系统变量参考](/zh-CN/14.reference-guide-oracle-mode/2.system-variable-1/2.auto_increment_increment-2.md)
更多变量参考信息,请参见 [系统变量参考](../../../14.reference-guide-oracle-mode/2.system-variable-1/2.auto_increment_increment-2.md)
......@@ -7,27 +7,27 @@ OceanBase 数据库是一个支持多租户架构的准内存级的分布式数
本章节将分篇介绍内存管理相关的以下内容:
* [OceanBase 内存结构](/zh-CN/6.administrator-guide/3.basic-database-management/6.memory-management/2.memory-structure-of-oceanbase.md)
* [OceanBase 内存结构](../../../6.administrator-guide/3.basic-database-management/6.memory-management/2.memory-structure-of-oceanbase.md)
* [OceanBase 内存上限](/zh-CN/6.administrator-guide/3.basic-database-management/6.memory-management/3.maximum-memory-for-oceanbase-databases.md)
* [OceanBase 内存上限](../../../6.administrator-guide/3.basic-database-management/6.memory-management/3.maximum-memory-for-oceanbase-databases.md)
* [系统内部内存管理](/zh-CN/6.administrator-guide/3.basic-database-management/6.memory-management/4.system-internal-memory-management.md)
* [系统内部内存管理](../../../6.administrator-guide/3.basic-database-management/6.memory-management/4.system-internal-memory-management.md)
* [租户内部内存管理](/zh-CN/6.administrator-guide/3.basic-database-management/6.memory-management/5.memory-management-within-a-tenant.md)
* [租户内部内存管理](../../../6.administrator-guide/3.basic-database-management/6.memory-management/5.memory-management-within-a-tenant.md)
* [执行计划缓存](/zh-CN/6.administrator-guide/3.basic-database-management/6.memory-management/6.execution-plan-cache-1.md)
* [执行计划缓存](../../../6.administrator-guide/3.basic-database-management/6.memory-management/6.execution-plan-cache-1.md)
* [常见内存问题](/zh-CN/6.administrator-guide/3.basic-database-management/6.memory-management/7.common-memory-problems.md)
* [常见内存问题](../../../6.administrator-guide/3.basic-database-management/6.memory-management/7.common-memory-problems.md)
......
......@@ -3,7 +3,7 @@
您可以使用 `CREATE TABLE` 语句来创建表。
本节主要介绍非分区表的创建,分区表的创建及使用请参见 [创建分区表](/zh-CN/6.administrator-guide/5.data-distribution-and-link-management/1.partition-table-and-partitioned-index-management/3.create-a-partition-table/1.level-1-partition-table-2.md) 章节。
本节主要介绍非分区表的创建,分区表的创建及使用请参见 [创建分区表](../../../6.administrator-guide/5.data-distribution-and-link-management/1.partition-table-and-partitioned-index-management/3.create-a-partition-table/1.level-1-partition-table-2.md) 章节。
创建非分区表
---------------------------
......@@ -59,7 +59,7 @@ Query OK, 0 rows affected (0.10 sec)
示例中创建了 2 个表,并同时对表中的列定义了一些约束信息,包括在不同列上创建的主键和外键等。更多主键、外键等的介绍,请参见 [定义列的约束类型](/zh-CN/6.administrator-guide/4.database-object-management-1/1.manage-tables/4.define-the-constraint-type-for-a-column.md) 章节。
示例中创建了 2 个表,并同时对表中的列定义了一些约束信息,包括在不同列上创建的主键和外键等。更多主键、外键等的介绍,请参见 [定义列的约束类型](../../../6.administrator-guide/4.database-object-management-1/1.manage-tables/4.define-the-constraint-type-for-a-column.md) 章节。
有关 SQL 数据类型的详细描述,请参见《OceanBase 数据库 SQL参考》。
**说明**
......
......@@ -85,7 +85,7 @@ obclient> ALTER TABLE test DROP TABLEGROUP grp1;
更多表组相关信息,请参见 [管理表组](/zh-CN/6.administrator-guide/4.database-object-management-1/2.manage-a-table-group/1.about-table-groups.md) 章节。
更多表组相关信息,请参见 [管理表组](../../../6.administrator-guide/4.database-object-management-1/2.manage-a-table-group/1.about-table-groups.md) 章节。
删除外键
-------------------------
......
......@@ -33,7 +33,7 @@ obclient> DROP TABLE IF EXISTS test;
* 当租户开启回收站功能时,`DROP TABLE` 操作表示删除的表会进入回收站。对于回收站中的表,后续您可以通过回收站功能进一步删除或恢复该表,回收站相关操作请参见 [数据库、表和索引级回收站](/zh-CN/6.administrator-guide/8.high-data-availability/1.recycle-bin-management/2.database-table-and-index-level-recycle-bin-1.md)
* 当租户开启回收站功能时,`DROP TABLE` 操作表示删除的表会进入回收站。对于回收站中的表,后续您可以通过回收站功能进一步删除或恢复该表,回收站相关操作请参见 [数据库、表和索引级回收站](../../../6.administrator-guide/8.high-data-availability/1.recycle-bin-management/2.database-table-and-index-level-recycle-bin-1.md)
......
创建索引
=========================
本节主要介绍如何通过 `CREATE INDEX` 语句在非分区表上创建索引,分区表上索引的创建请参见 [局部索引](/zh-CN/6.administrator-guide/5.data-distribution-and-link-management/1.partition-table-and-partitioned-index-management/6.create-an-index-on-a-partition-table/1.local-index.md)章节。
本节主要介绍如何通过 `CREATE INDEX` 语句在非分区表上创建索引,分区表上索引的创建请参见 [局部索引](../../../6.administrator-guide/5.data-distribution-and-link-management/1.partition-table-and-partitioned-index-management/6.create-an-index-on-a-partition-table/1.local-index.md)章节。
OceanBase 数据库支持在非分区表和分区表上创建索引,索引可以是局部索引或全局索引,也可以是唯一索引或普通索引。如果是分区表的唯一索引,则唯一索引必须包含表分区的拆分键。
......
......@@ -51,7 +51,7 @@
MySQL 模式下 `CREATE SYNONYM` 语句的更多信息,请参见《SQL 参考》文档中的 [CREATE SYNONYM](/zh-CN/10.sql-reference/5.sql-statement/17.create-synonym.md) 章节。
MySQL 模式下 `CREATE SYNONYM` 语句的更多信息,请参见《SQL 参考》文档中的 [CREATE SYNONYM](../../../10.sql-reference/5.sql-statement/17.create-synonym.md) 章节。
......@@ -143,7 +143,7 @@
MySQL 模式下 `DROP SYNONYM` 语句的更多信息,请参见《SQL 参考》文档中的 [DROP SYNONYM](/zh-CN/10.sql-reference/5.sql-statement/33.drop-synonym.md) 章节。
MySQL 模式下 `DROP SYNONYM` 语句的更多信息,请参见《SQL 参考》文档中的 [DROP SYNONYM](../../../10.sql-reference/5.sql-statement/33.drop-synonym.md) 章节。
......
......@@ -3,7 +3,7 @@
本节主要介绍常用的一些表级副本变更操作。
租户级副本变更操作,请参见 [Locality 管理](/zh-CN/6.administrator-guide/5.data-distribution-and-link-management/3.locality-management/1.locality-management-overview.md) 章节。
租户级副本变更操作,请参见 [Locality 管理](../../../6.administrator-guide/5.data-distribution-and-link-management/3.locality-management/1.locality-management-overview.md) 章节。
表级副本主要通过建表时指定 Locality 属性或者 `ALTER TABLE` 语句指定 Locality 属性,示例语句如下所示:
......
......@@ -19,7 +19,7 @@ replicas{量词}@location
| **元素** | **说明** |
|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| replicas | 表示副本类型,副本类型相关说明请参见[副本概述](/zh-CN/6.administrator-guide/5.data-distribution-and-link-management/2.replica-management/1.replica-overview.md)章节。 `replicas`的值为副本名称,您可以在副本类型说明表中的 **名称** 列获得支持的值(支持全名和简写)。 |
| replicas | 表示副本类型,副本类型相关说明请参见[副本概述](../../../6.administrator-guide/5.data-distribution-and-link-management/2.replica-management/1.replica-overview.md)章节。 `replicas`的值为副本名称,您可以在副本类型说明表中的 **名称** 列获得支持的值(支持全名和简写)。 |
| location | 表示位置。它是系统已知的一组枚举值。 `location`的值为 Zone 的名称。 |
| 量词 | 不指定量词的时候,表示一个副本。用 `{n}`表示 n 个副本。 有一种特殊的量词 `{all_server}`表示副本数和可用的 Server 的数量相同。一个分区在一个 Zone 中最多有一个全功能或日志型副本(这些类型的副本是 Paxos 复制组的成员),只读型副本在同一个 Zone 中可以有多个。 |
......
......@@ -46,7 +46,7 @@
更多 MySQL 模式下 `CREATE USER` 语句的信息,请参见 [CREATE USER](/zh-CN/10.sql-reference/5.sql-statement/21.create-user-1.md)
更多 MySQL 模式下 `CREATE USER` 语句的信息,请参见 [CREATE USER](../../10.sql-reference/5.sql-statement/21.create-user-1.md)
......
......@@ -18,4 +18,4 @@ obclient> SHOW VARIABLES LIKE 'ob_tcp_invited_nodes';
更多 `ob_tcp_invited_nodes` 的信息,请参见 [ob_tcp_invited_nodes](/zh-CN/14.reference-guide-oracle-mode/2.system-variable-1/83.ob_tcp_invited_nodes-1.md)
更多 `ob_tcp_invited_nodes` 的信息,请参见 [ob_tcp_invited_nodes](../../14.reference-guide-oracle-mode/2.system-variable-1/83.ob_tcp_invited_nodes-1.md)
......@@ -17,7 +17,7 @@
更多 MySQL 模式下`DROP USER` 语句的信息请参见 [DROP USER](/zh-CN/10.sql-reference/5.sql-statement/34.drop-user.md)
更多 MySQL 模式下`DROP USER` 语句的信息请参见 [DROP USER](../../10.sql-reference/5.sql-statement/34.drop-user.md)
......
......@@ -148,4 +148,4 @@
**方法二** :通过 OCP 开启自动过期备份清理开关
在 OCP 上创建备份策略时,您可以开启 **过期备份清理调度配置** 开关,待备份数据过期后系统会自动清理过期的数据。通过 OCP 创建备份策略的详细操作请参见 [通过 OCP 备份](t2020934.html#topic-2020934)
在 OCP 上创建备份策略时,您可以开启 **过期备份清理调度配置** 开关,待备份数据过期后系统会自动清理过期的数据。
......@@ -3,7 +3,7 @@
默认情况 OceanBase 没有创建示例数据库 TPCC,需要手动创建。示例数据库必须在业务租户下创建。有关示例数据库介绍请参考 [关于示例数据库 TPCC](/zh-CN/7.developer-guide-1/1.preface-2/4.about-the-sample-database-tpcc-2.md)
默认情况 OceanBase 没有创建示例数据库 TPCC,需要手动创建。示例数据库必须在业务租户下创建。有关示例数据库介绍请参考 [关于示例数据库 TPCC](../../7.developer-guide-1/1.preface-2/4.about-the-sample-database-tpcc-2.md)
租户创建好后,需要创建相应的 DataBase 来存放示例数据库的对象,还要分配相应的用户和访问权限。
......
......@@ -106,7 +106,7 @@ Canal 的工作流程如下:
其中,`outerAdapters` 中的 `rdb` 数据源表示目标数据库。OceanBase 数据库用户名的格式详情,参考 [通过 MySQL 客户端连接 OceanBase 租户](/zh-CN/7.developer-guide-1/2.connect-to-the-oceanbase-database/1.connect-to-an-oceanbase-tenant-by-using-a-mysql-client.md)
其中,`outerAdapters` 中的 `rdb` 数据源表示目标数据库。OceanBase 数据库用户名的格式详情,参考 [通过 MySQL 客户端连接 OceanBase 租户](../../7.developer-guide-1/2.connect-to-the-oceanbase-database/1.connect-to-an-oceanbase-tenant-by-using-a-mysql-client.md)
3. 配置表映射。
......
......@@ -5,7 +5,7 @@
obclient 是一个交互式和批处理查询工具,需要单独安装。它是一个命令行用户界面,在连接到数据库时充当客户端,支持 OceanBase 的 Oracle 租户和 MySQL 租户。
obclient 运行时需要指定 OceanBase 租户的连接信息,具体方法请参考 [通过 obclient 连接 OceanBase 租户](/zh-CN/8.developer-guide-oracle-mode/2.connect-to-the-oceanbase-database-1/1.connect-to-an-oceanbase-tenant-by-using-obclient-1.md)
obclient 运行时需要指定 OceanBase 租户的连接信息,具体方法请参考 [通过 obclient 连接 OceanBase 租户](../../../../8.developer-guide-oracle-mode/2.connect-to-the-oceanbase-database-1/1.connect-to-an-oceanbase-tenant-by-using-obclient-1.md)
连接上 OceanBase 数据库后,在 obclient 里,可以运行一些 obclient 命令(包含常用的 MySQL 命令)、SQL 语句来执行下面这些任务:
......
......@@ -3,14 +3,14 @@
默认情况 OceanBase 没有创建示例数据库 TPCC,需要手动创建。示例数据库必须在业务租户下创建。有关示例数据库介绍请参考 [关于示例数据库TPCC](/zh-CN/8.developer-guide-oracle-mode/1.preface-1/4.about-the-sample-database-tpcc-1.md)
默认情况 OceanBase 没有创建示例数据库 TPCC,需要手动创建。示例数据库必须在业务租户下创建。有关示例数据库介绍请参考 [关于示例数据库TPCC](../../8.developer-guide-oracle-mode/1.preface-1/4.about-the-sample-database-tpcc-1.md)
租户创建好后,需要创建相应的 Schema 来存放示例数据库的对象,还要分配相应的用户和访问权限。
示例
-----------
1. 通过 obclient 连接 Oracle 租户。具体方法请参考 [通过 obclient 连接 OceanBase 租户](/zh-CN/8.developer-guide-oracle-mode/2.connect-to-the-oceanbase-database-1/1.connect-to-an-oceanbase-tenant-by-using-obclient-1.md)
1. 通过 obclient 连接 Oracle 租户。具体方法请参考 [通过 obclient 连接 OceanBase 租户](../../8.developer-guide-oracle-mode/2.connect-to-the-oceanbase-database-1/1.connect-to-an-oceanbase-tenant-by-using-obclient-1.md)
......
......@@ -88,7 +88,7 @@ ORA-00001: unique constraint '3' for key 'PRIMARY' violated
这个报错可以通过 MERGE INTO 避免,详细用法请参考 [关于 MERGE 语句](/zh-CN/8.developer-guide-oracle-mode/3.about-dml-statements-and-transactions-1/1.about-dml-statements-1/4.about-the-merge-statement.md)
这个报错可以通过 MERGE INTO 避免,详细用法请参考 [关于 MERGE 语句](../../../8.developer-guide-oracle-mode/3.about-dml-statements-and-transactions-1/1.about-dml-statements-1/4.about-the-merge-statement.md)
示例:使用查询语句充当 INSERT 的 values 子句
---------------------------------------
......
......@@ -128,7 +128,7 @@ Query OK, 0 rows affected (0.10 sec)
建议建表的时候为表设计主键或者唯一键,这样对性能或者后期维护都很有益。如果没有合适的字段作为主键,可以为表增加一个数值列作为主键,使用 OceanBase Oracle 租户的序列为这一列填充值。有关序列介绍请参见 [创建和管理序列](/zh-CN/8.developer-guide-oracle-mode/4.create-and-manage-database-objects-1/6.create-and-manage-sequences/1.overview-6.md)
建议建表的时候为表设计主键或者唯一键,这样对性能或者后期维护都很有益。如果没有合适的字段作为主键,可以为表增加一个数值列作为主键,使用 OceanBase Oracle 租户的序列为这一列填充值。有关序列介绍请参见 [创建和管理序列](../../../8.developer-guide-oracle-mode/4.create-and-manage-database-objects-1/6.create-and-manage-sequences/1.overview-6.md)
由于 ALTER TABLE 语法不支持后期增加主键,所以在建表的时候设置主键就更加有必要了。
......@@ -228,7 +228,7 @@ obclient> select ol_o_id, ol_number,ol_delivery_d,ol_amount,ol_i_id,ol_supply_w_
如果是组合分区,可以访问更细粒度的分区,详细描述请参考 [分区路由](/zh-CN/8.developer-guide-oracle-mode/4.create-and-manage-database-objects-1/3.create-and-manage-partition-table-1/2.partition-routing-1.md)
如果是组合分区,可以访问更细粒度的分区,详细描述请参考 [分区路由](../../../8.developer-guide-oracle-mode/4.create-and-manage-database-objects-1/3.create-and-manage-partition-table-1/2.partition-routing-1.md)
在 OceanBase 数据库里,节点间的数据迁移的最小粒度是分区,每个分区在集群里有三个副本,内容保持同步,角色上有区分。三副本会有一个主副本(Leader 副本)和两个备副本(Follower 副本),只有主副本可以提供写服务,默认也只有主副本可以提供读服务。主副本上的事务提交时会将事务日志同步到两个备副本,三副本使用 Paxos 协议表决事务是否提交成功。有时候为了不影响主副本,可以让备副本承担部分读请求,这就是应用常用的读写分离的解决方案,
......
site_name: OceanBase
repo_url: 'https://github.com/oceanbase/oceanbase'
repo_name: 'OceanBase'
edit_uri: 'edit/master/docs/'
edit_uri: 'edit/master/docs/docs'
theme:
name: 'material'
features:
- navigation.tabs
- navigation.top
# Plugins
plugins:
- search:
# use Japanese to support Chinese, see https://www.mkdocs.org/user-guide/configuration/#lang
lang: ja
nav:
- Home: index.md
......@@ -92,7 +99,7 @@ nav:
- SQL引擎:
- SQL 请求执行流程: docs-cn/5.overview/7.sql-engine-1/1.sql-request-execution-process-1.md
- 查询改写:
- 概述: docs-cn/5.overview/7.sql-engine-1/1.overview-9.md
- 概述: docs-cn/5.overview/7.sql-engine-1/2.query-rewrite-1/1.overview-9.md
- 基于规则的查询改写: docs-cn/5.overview/7.sql-engine-1/2.query-rewrite-1/2.rule-based-query-rewriting-1.md
- 基于代价的查询改写: docs-cn/5.overview/7.sql-engine-1/2.query-rewrite-1/3.cost-based-query-rewriting-1.md
- 查询优化:
......@@ -123,16 +130,16 @@ nav:
- SELECT INTO: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/14.select-into.md
- SUBPLAN SCAN: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/15.subplan-scan.md
- UNION: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/16.UNION.md
- INTERSECT: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/16.UNION.md
- INTERSECT: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/17.INTERSECT.md
- EXCEPT/MINUS: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/18.except-minus.md
- INSERT: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/19.INSERT-1-2.md
- DELETE: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/19.INSERT-1-2.md
- UPDATE: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/19.INSERT-1-2.md
- DELETE: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/20.DELETE-1-2.md
- UPDATE: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/21.UPDATE-1-2.md
- MERGE: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/22.MERGE-1.md
- EXCHANGE: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/22.MERGE-1.md
- EXCHANGE: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/23.EXCHANGE.md
- GI: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/2.execution-plan-operator/24.GI.md
- 执行计划缓存: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/3.execution-plan-cache-2.md
- 快速参数化: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/3.execution-plan-cache-2.md
- 快速参数化: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/4.fast-parameterization-1.md
- 实时执行计划展示: docs-cn/5.overview/7.sql-engine-1/4.sql-execution-plan-1/5.real-time-execution-plan-display-1.md
- 分布式执行计划:
- 分布式执行和并行查询: docs-cn/5.overview/7.sql-engine-1/5.distributed-execution-plan-1/1.distributed-execution-and-parallel-query-2.md
......@@ -427,8 +434,9 @@ nav:
- 事务保存点 : docs-cn/7.developer-guide-1/3.about-dml-statements-and-transactions/5.transaction-savepoints.md
- 关于事务超时 : docs-cn/7.developer-guide-1/3.about-dml-statements-and-transactions/6.about-transaction-timeout.md
- 创建和管理数据库对象:
- 关于 DDL 语句 : docs-cn/8.developer-guide-oracle-mode/4.create-and-manage-database-objects-1/1.about-ddl-statements-1.md
- 关于 DDL 语句 : docs-cn/7.developer-guide-1/4.create-and-manage-database-objects/1.about-ddl-statements.md
- 创建和管理表:
- 关于 SQL 数据类型: docs-cn/7.developer-guide-1/4.create-and-manage-database-objects/2.create-and-manage-tables/1.about-sql-data-types.md
- 创建表 : docs-cn/7.developer-guide-1/4.create-and-manage-database-objects/2.create-and-manage-tables/2.create-a-table-1.md
- 关于自增列 : docs-cn/7.developer-guide-1/4.create-and-manage-database-objects/2.create-and-manage-tables/3.about-auto-increment-columns.md
- 关于列的约束类型 : docs-cn/7.developer-guide-1/4.create-and-manage-database-objects/2.create-and-manage-tables/4.about-column-constraint-types.md
......@@ -795,6 +803,8 @@ nav:
- 与联接操作相关的 Hint : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/4.Hint/2.hint-list/3.hints-related-to-join-operations.md
- 与并行执行相关的 Hint : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/4.Hint/2.hint-list/4.hints-related-to-parallel-execution.md
- 与查询策略相关的 Hint : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/4.Hint/2.hint-list/5.hints-related-to-the-query-policy.md
- 与查询转换相关的 Hint : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/4.Hint/2.hint-list/6.hints-related-to-query-transformation.md
- 其他Hint : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/4.Hint/2.hint-list/7.other-hints.md
- 数据库对象:
- Schema 对象: docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/7.database-objects/1.schema-object.md
- 数据库对象命名规范:
......@@ -802,7 +812,6 @@ nav:
- 数据库对象命名规则 : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/8.database-naming-convention/2.database-object-naming-rules.md
- Schema 对象命名示例 : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/8.database-naming-convention/3.schema-object-naming-example.md
- Schema 对象命名准则 : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/8.database-naming-convention/4.schema-object-naming-guidelines.md
- 与查询转换相关的 Hint : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/6.annotation-1/4.Hint/2.hint-list/6.hints-related-to-query-transformation.md
- 数据库对象引用:
- 数据库对象引用概述 : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/9.database-object-reference-method/1.overview-of-database-object-references.md
- 引用 Schema 对象 : docs-cn/11.sql-reference-oracle-mode/3.basic-elements-1/9.database-object-reference-method/2.reference-a-schema-object.md
......@@ -1115,7 +1124,7 @@ nav:
- 概述 : docs-cn/13.reference-guide/1.system-view/1.overview-4.md
- 字典视图 :
- mysql.help_topic : docs-cn/13.reference-guide/1.system-view/2.dictionary-view/1.mysql-help_topic.md
- information_schema.COLLATIONS : docs-cn/13.reference-guide/1.system-view/2.dictionary-view/
- mysql-help_category : docs-cn/13.reference-guide/1.system-view/2.dictionary-view/2.mysql-help_category.md
- mysql.help_keyword : docs-cn/13.reference-guide/1.system-view/2.dictionary-view/3.mysql-help_keyword.md
- mysql.help_relation : docs-cn/13.reference-guide/1.system-view/2.dictionary-view/4.mysql-help_relation.md
- mysql.db : docs-cn/13.reference-guide/1.system-view/2.dictionary-view/5.mysql-db.md
......@@ -2220,7 +2229,7 @@ nav:
- Pull Request 与 Commit 信息规范 : docs-cn/15.community-contribution/3.pull-request-and-commit-specifications.md
- OceanBase Roadmap : docs-cn/16.oceanbase-roadmap.md
- 讲义:
- 数据库教程:
- 数据库管理系统实现基础讲义: lectures/index.md
- 第1章 数据库管理系统概述: lectures/lecture-1.md
- 第2章 数据库的存储结构: lectures/lecture-2.md
......@@ -2230,3 +2239,4 @@ nav:
- 第6章 事务处理: lectures/lecture-6.md
- 参考资料: lectures/references.md
- 版权声明: lectures/copyright.md
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册