# Clustered Vs. Non-Clustered Tables (Continue...)

+ `SHARD_ROW_ID_BITS` 
  + The non-clustered table NONCLUSTERED, TiDB uses an implicit self-incrementing rowid to create a write hotspot.
  + SHARD_ROW_ID_BITS adjusts the highs of the implicitly generated _tidb_rowid to make it easier to split different regions to dissipate hotspots.
    + SHARD_ROW_ID_BITS = 4 means 16 shards
    + SHARD_ROW_ID_BITS = 5 means 32 shards
  + When SHARD_ROW_ID_BITS is generally used, PRE_SPLIT_REGIONS is used in conjunction with it. Once the table is created, the table will be split into 2^ (PRE_SPLIT_REGIONS) Region
+ E.g.: Create a non-clustered table and add SHARD_ROW_ID_BITS to scatter the data, and pre-slice the table into 4 regions after the table is built
+ E.g.: Modify the scattered random bits of the table to 5 

```
CREATE TABLE t (c int PRIMARY KEY NONCLUSTERED) SHARD_ROW_ID_BITS = 4 pre_split_regions = 2;
ALTER TABLE t SHARD_ROW_ID_BITS = 5;
```
------------------------------------------------------------

SHARD_ROW_ID_BITS

For non-clustered tables NONCLUSTERED, TiDB uses an implicit self-incrementing rowid. When executing a large number of INSERT insert statements, the data set is written to a single region, creating a write hot spot.

