SHOW EXPERIMENTAL_RANGES 语句 用于显示一个表的ranges 信息。包括:

该信息有助于验证如下信息:

Warning: 该SQL仅仅是一个初期的接口,之后的语句接口与数据可能会改变。

概要

图片

所需权限

用户必须具有目标表的SELECT 权限

参数

Parameter Description
table_name 要查看range信息的表名
table_name_with_index 要查看range信息的index名字

例子

如下例子运行在5节点集群,创建了一个“用户信用信息”表,其中构造了一些假设数据。

> CREATE TABLE credit_users (
       id INT PRIMARY KEY,
       area_code INTEGER NOT NULL,
       name STRING UNIQUE NOT NULL,
       address STRING NOT NULL,
       zip_code INTEGER NOT NULL,
       credit_score INTEGER NOT NULL
);

在表的 area_code列增加一个 index

> CREATE INDEX areaCode on credit_users(area_code);

接下来,在表与二级索引上执行语句SPLIT ATs

> ALTER TABLE credit_users SPLIT AT VALUES (5), (10), (15);
> ALTER INDEX credit_users@areaCode SPLIT AT VALUES (400), (600), (999);

Note: 在本例中,在Start KeyNULL值表示一张表从这里开始,在End Key 处的NULL值表示表已经结束。

显示一张表的Range信息 (主键索引)

> SHOW EXPERIMENTAL_RANGES FROM TABLE credit_users;
+-----------+---------+----------+----------+--------------+
| Start Key | End Key | Range ID | Replicas | Lease Holder |
+-----------+---------+----------+----------+--------------+
| NULL      | /5      |      158 | {2,3,5}  |            5 |
| /5        | /10     |      159 | {3,4,5}  |            5 |
| /10       | /15     |      160 | {2,4,5}  |            5 |
| /15       | NULL    |      161 | {2,3,5}  |            5 |
+-----------+---------+----------+----------+--------------+
(4 rows)

查看索引的Ranges 信息

> SHOW EXPERIMENTAL_RANGES FROM INDEX credit_users@areaCode;
+-----------+---------+----------+-----------+--------------+
| Start Key | End Key | Range ID | Replicas  | Lease Holder |
+-----------+---------+----------+-----------+--------------+
| NULL      | /400    |      135 | {2,4,5}   |            2 |
| /400      | /600    |      136 | {2,4,5}   |            4 |
| /600      | /999    |      137 | {1,3,4,5} |            3 |
| /999      | NULL    |       72 | {2,3,4,5} |            4 |
+-----------+---------+----------+-----------+--------------+
(4 rows)

See Also