MySQL是一個常用的關系型數據庫管理系統,其中表是其中的重要組成部分。MySQL中的表可以根據業務需求進行分區,將大數據量的表進行分割,提高查詢效率,而服務器的性能也會得到優化。普通表可以通過ALTER TABLE語句進行分區,下面介紹如何將普通表轉換為分區表。
1.創建普通表
CREATE TABLE student ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(20) NOT NULL, score int(11) NOT NULL DEFAULT '0', PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.將普通表轉換為分區表
ALTER TABLE student PARTITION BY RANGE (score)( PARTITION p0 VALUES LESS THAN (60), PARTITION p1 VALUES LESS THAN (80), PARTITION p2 VALUES LESS THAN MAXVALUE );
3.查看分區表信息
SELECT * FROM information_schema.partitions WHERE table_name='student';
4.插入數據
INSERT INTO student(name,score) VALUES('Tom', 56); INSERT INTO student(name,score) VALUES('John', 78); INSERT INTO student(name,score) VALUES('Lisa', 89); INSERT INTO student(name,score) VALUES('Mike', 92);
5.查詢分區表信息
EXPLAIN PARTITIONS SELECT * FROM student WHERE score >80;
分區表可以根據查詢條件對分區進行選擇,減少掃描分區的數據量,提高查詢效率,并且通過合理設置分區策略,還可以縮短備份時間和恢復時間。
上一篇mysql暫缺
下一篇css中表單設置按鈕樣式