查看錶的建立命令sql
SHOW CREATE TABLE my_table_name;
查看錶是否分區(Create_options 字段爲 partitioned 或空)ide
SHOW TABLE STATUS LIKE '%my_table_name%';
查看分區信息測試
# 全部信息 SELECT * FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = 'my_db_name' # 庫名 AND TABLE_NAME = 'my_table_name'; # 表名 # 經常使用信息 SELECT PARTITION_METHOD, PARTITION_NAME, PARTITION_EXPRESSION, PARTITION_DESCRIPTION, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = SCHEMA() # 庫名 AND TABLE_NAME = 'my_table_name'; # 表名
【KEY 分區】spa
有主鍵時建立 KEY 分區,建議分區個數爲質數。orm
可參考這篇文章:MySQL之KEY分區引起的血案blog
經測試,在 MySQL 5.7.2六、MariaDB 10.4.6 下,分區個數爲偶數時,奇數編號分區數據條數仍然爲0。ip
CREATE TABLE my_table_name ( id INT NOT NULL PRIMARY KEY, name VARCHAR(20) ) PARTITION BY KEY() PARTITIONS 11; # 11 個分區
無主鍵時建立 key 分區get
CREATE TABLE my_table_name ( name VARCHAR(20) ) PARTITION BY KEY(name) PARTITIONS 11; # 11 個分區
對於已有表進行分區,建議新建分區表,再導入數據;也能夠用 ALTER 語句修改表:qt
ALTER TABLE my_table_name PARTITION BY KEY() PARTITIONS 11;
【相關閱讀】it
*** walker ***