您好,登錄后才能下訂單哦!
查看表的創建命令
SHOW?CREATE?TABLE?my_table_name;
查看表是否分區(Create_options 字段為 partitioned 或空)
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 分區】
有主鍵時創建 KEY 分區,建議分區個數為質數。
可參考這篇文章:MySQL之KEY分區引發的血案
經測試,在 MySQL 5.7.26、MariaDB 10.4.6 下,分區個數為偶數時,奇數編號分區數據條數仍然為0。
CREATE?TABLE?my_table_name?( ????id?INT?NOT?NULL?PRIMARY?KEY,???? ????name?VARCHAR(20) ) PARTITION?BY?KEY() PARTITIONS?11;????#?11?個分區
無主鍵時創建 key 分區
CREATE?TABLE?my_table_name?( ????name?VARCHAR(20) ) PARTITION?BY?KEY(name) PARTITIONS?11;????#?11?個分區
對于已有表進行分區,建議新建分區表,再導入數據;也可以用 ALTER 語句修改表:
ALTER?TABLE?my_table_name PARTITION?BY?KEY()? PARTITIONS?11;
【相關閱讀】
MySQL/MariaDB Tips
*** walker ***
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。