# SCHEMA 的设计 - 聚簇表与非聚簇表（B）

+ 非聚簇表
  + 表中的行数据存储顺序与主键存储的顺序不一定一致的表即为非聚簇表
  + 行数据的键由 TiDB 内部隐式分配的 _tidb_rowid 构成，而主键本质上是唯一索引
  + 通过主键访问行记录时，不可以直接获取行记录，需要先从额外存储的主键获取行的 _tidb_rowid ，再通过此行的 _tidb_rowid 获取行记录。这将比聚簇表多一次回表操作。
```
CREATE TABLE t (a BIGINT PRIMARY KEY NONCLUSTERED, b VARCHAR(255));
```
-------------------------------------------------------------
- 非聚簇表
  - 表中的行数据存储顺序与主键存储的顺序不一定一致的表即为非聚簇表
  - 行数据的键由 TiDB 内部隐式分配的 _tidb_rowid 构成，而主键本质上是唯一索引
  - 通过主键访问行记录时，不可以直接获取行记录，需要先从额外存储的主键获取行的 _tidb_rowid ，再通过此行的_tidb_rowid 获取行记录。这将比聚簇表多一次回表操作
CREATE TABLE t (a BIGINT PRIMARY KEY NONCLUSTERED, b VARCHAR(255));
