mysql key分區,分區數制定


我相信不 太注意的同學肯定會入坑,今天我差點也入坑了,后面自己問自己如果我用key分區,自己問自己 我的分區數應該是多少???

后面我陷入了沉思.........

我第一次想先隨便弄一個分區數,在本地試試,后面意外發生了。

1.我隨便定了一個數10個分區:

查看的SQL語句:

SELECT
table_schema,
table_name,
partition_name,
partition_ordinal_position,
partition_method,
partition_expression,
table_rows
FROM
information_schema.`PARTITIONS`
WHERE
table_name = '自己分區表名';

 

 看上面的圖是不是發現一個問題,就是偶數的都有數據,怎么奇數沒有數據呢,這不是分區通過hash 計算然后取模算法嗎????

后面我嘗試了幾種數據發現一個規律

總結:

(1).如果設置40,64,128等偶數個分區數(PARTITIONS 64),會導致編號為奇數的分區(p1, p3, p5, p7, ... p2n-1)完全插不進數據;
(2).如果設置63,121(PARTITIONS 63)這種奇數但非質數個分區數,所有分區都會有數據,但是不均勻;
(3).如果設置127,31這種質數個分區數(PARTITIONS 127),所有分區都會有數據,並且非常均勻;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM