# SCHEMA 设计建议 - 高兼容性 SCHEMA

+ 适用从原来 MySQL 业务迁移到 TiDB 数据库上的表
+ 建表时创建非聚簇表
+ 为表添加 SHARD_ROW_ID_BITS 和 PRE_SPLIT_REGIONS 选项
+ 其他列保持原有设计
```
CREATE TABLE noncluster_order (
id bigint(20) unsigned AUTO_INCREMENT NOT NULL ,
code varchar(30) NOT NULL,
order_no varchar(200) NOT NULL DEFAULT '',
status int(4) NOT NULL,
cancle_flag int(4) DEFAULT NULL,
create_user varchar(50) DEFAULT NULL,
update_user varchar(50) DEFAULT NULL,
create_time datetime DEFAULT NULL,
update_time datetime DEFAULT NULL,
PRIMARY KEY (id) NONCLUSTERED
) ENGINE=InnoDB SHARD_ROW_ID_BITS=4 PRE_SPLIT_REGIONS=3;
```
-------------------------------------------------------------
Schema 设计建议
我们在很多时候是从 MySQL 数据库迁移到 TiDB 分布式数据库上。在单机数据库场景中普遍会使用具有 AUTO_INCREMENT 属性的 ID 列作为主键。但在分布式数据库场景下使用单调连续递增的 ID 往往会产生数据热点。为了避免数据热点问题，可以尝试使用以下两种方式来设计改造 Schema

高兼容性 Schema
- 适用从原来 MySQL 业务迁移到 TiDB 数据库上的表
- 建表时创建非聚簇表
- 为表添加 SHARD_ROW_ID_BITS 和 PRE_SPLIT_REGIONS 选项
- 其他列保持原有设计
