單片表和全局表
更新時間 2023-12-15 09:19:57
最近更新時間: 2023-12-15 09:19:57
分享文章
本章節介紹了DRDS單片表和全局表的創建和使用。
單片表
介紹
單片表只在一個MySQL分片創建表,不分片。一個數據庫中并不是所有表都很大,某些表是可以不用進行切分的,單片表是相對分片表來說的,就是指那些不需要作數據切分的表。
示例
單片表創建示例:
/*建表語句*/
CREATE TABLE IF NOT EXISTS `employee1` (
`employee_id` int NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`employee_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
/*sharding語句*/
sharding @@table name='employee1' set type='single' and dn='order_db_1';
全局表
介紹
全局表是在MySQL所有分片進行建表,全局表有如下特性:
- 變動不頻繁, 數據量總體變化不大。
- 數據規模不大。
- 全局表的select操作會隨機發送到一個分片上執行。
- 全局表的insert、delete、update操作會發送到所有分片執行,保障每個分片上的表數據是一致的。
示例
全局表創建示例:
/*建表語句*/
CREATE TABLE IF NOT EXISTS `employee2` (
`employee_id` int NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`employee_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
/*sharding語句*/
sharding @@table name='employee2' set type='global' and dn='order_db_1,order_db_2,order_db_3,order_db_4,order_db_5';