Skip to content

Commit

Permalink
add system variable 'tidb_enable_clustered_index' for v5.0 (pingcap#4385
Browse files Browse the repository at this point in the history
)

* add system variable 'tidb_enable_clustered_index' for v5.0

* Update system-variables.md

Co-authored-by: TomShawn <[email protected]>

* address comment

* change back to '和’

* refine words

* add doc for checking if table use clustered index.

* address comment

* remove comma

Co-authored-by: TomShawn <[email protected]>
  • Loading branch information
coocood and TomShawn authored Sep 3, 2020
1 parent 0ffdfe3 commit fbb7b3d
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,22 @@ SET GLOBAL tidb_distsql_scan_concurrency = 10;
- 默认值: 0
- 这个变量用于控制是否开启 cascades planner。

### `tidb_enable_clustered_index` <span class="version-mark">从 v5.0 版本开始引入</span>

- 作用域:SESSION | GLOBAL
- 默认值:1
- 这个变量用于控制是否开启 Clustered Index 特性。
- 该特性只适用于新创建的表,对于已经创建的旧表不会有影响。
- 该特性只适用于主键为单列非 INT 类型的表和主键为多列的表。对于无主键的表和主键是单列 INT 类型的表不会有影响。
- 通过执行 `select tidb_pk_type from information_schema.tables where table_name = '{table_name}'` 可以查看一张表是否使用了 Clustered Index 特性。
- 特性启用以后,row 会直接存储在主键上,而不再是存储在系统内部分配的 row_id 上并用额外创建的主键索引指向 row_id。

对性能的影响主要体现在以下几个方面:
- 插入的时候每行会减少一个索引 key 的写入。
- 使用主键作为等值条件查询的时候,会节省一次读取请求。
- 使用单列主键作为范围条件查询的时候,可以节省多次读取请求。
- 使用多列主键的前缀作为等值或范围条件查询的时候,可以节省多次读取请求。

### `tidb_enable_chunk_rpc` <span class="version-mark">从 v4.0 版本开始引入</span>

- 作用域:SESSION
Expand Down

0 comments on commit fbb7b3d

Please sign in to comment.