Mysql 分区介绍(二) —— RANGE分区
生活随笔
收集整理的這篇文章主要介紹了
Mysql 分区介绍(二) —— RANGE分区
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通過范圍的方式進行分區, 為每個分區給出一定的范圍, 范圍必須是連續的并且不能重復, 使用VALUES LESS THAN操作符<br />
讓我們先來創建一個range分區的表
CREATE TABLE employees (id INT NOT NULL,fname VARCHAR(30),lname VARCHAR(30),hired DATE NOT NULL DEFAULT '1970-01-01',separated DATE NOT NULL DEFAULT '9999-12-31',job_code INT NOT NULL,store_id INT NOT NULL ) PARTITION BY RANGE (store_id) (PARTITION p0 VALUES LESS THAN (6),PARTITION p1 VALUES LESS THAN (11),PARTITION p2 VALUES LESS THAN (16),PARTITION p3 VALUES LESS THAN (21) );store_id 小于6的, 會被放入第一個分區, 小于11的會放入第二個分區。<br>
如果我的store_id大于21怎么辦呢?, 所以我們得修改一下這個創建分區的方式。
增加了一個MAXVALUE, MAXVALUE的意思是, 大于21的數據都會放入這個分區, 當然, 還有另外一種方式去避免這個問題, 就是在INSERT的時候增加IGNORE關鍵字。<br />
分區鍵類型為時間轉時間戳 <br />
可以使用UNIX-TIMESTAMP()
除了UNIX_TIMESTAMP外,其他涉及到時間戳的表達式都是不被允許的
基于時間數字的分區 <br />
CREATE TABLE members (firstname VARCHAR(25) NOT NULL,lastname VARCHAR(25) NOT NULL,username VARCHAR(16) NOT NULL,email VARCHAR(35),joined DATE NOT NULL ) PARTITION BY RANGE(YEAR(joined) ) (PARTITION p0 VALUES LESS THAN (1960),PARTITION p1 VALUES LESS THAN (1970),PARTITION p2 VALUES LESS THAN (1980),PARTITION p3 VALUES LESS THAN (1990),PARTITION p4 VALUES LESS THAN MAXVALUE );歡迎關注我的博客
轉載于:https://blog.51cto.com/a3147972/2087161
總結
以上是生活随笔為你收集整理的Mysql 分区介绍(二) —— RANGE分区的全部內容,希望文章能夠幫你解決所遇到的問題。