我試圖估計MySQL RDBMS中表的每個記錄的真實磁盤使用所需空間。MySQL記錄磁盤使用率計算|我對嗎?
該表具有這樣的結構:
- ID INT 4字節;
- VARCHAR(34)34字節;
- INT 4字節;
- INT(5)4字節;
- INT 4字節;
- INT 4字節,也是一個FOREIGN KEY;
所以有5個INT字段和一個最多34個字符(即34個字節)的VARCHAR。
我有2個問題:
1)總的應該是每個記錄54個字節(帶可變VARCHAR,當然)我是正確的,當我說,或者也有一些在頭個字節在估算磁盤使用空間時,我應該考慮一下?我也用INT(5)代替CHAR(5),因爲我只需要在該字段中只存儲5位數字(我將通過應用程序來做到這一點,使用regExp和字符串長度,導致I知道INT(5)可能超過5位數的整數)。 但是,這可以考慮,例如磁盤使用空間的優化,因爲我使用的是INT(4字節)而不是CHAR(5),即5個字節,即每個記錄多1個字節?
感謝您的關注!
檢查這個答案 - 有一些計算http://dba.stackexchange.com/questions/59909 /如何計算空間我需要的索引/ 59910#59910 – akuzminsky
要計算確切的大小給出其他信息:1)是ID主鍵? 2)VARCHAR字段 - 什麼編碼? 3)這些字段是否可以使用NULL? – akuzminsky
是ID是PRIMARY KEY AUTO_INCREMENT,VARCHAR字段的編碼是UTF-8編碼的(表的CHARSET設置爲UTF8),並且所有字段都不是NULL。如前所述,最後的INT字段也是一個FOREIGN KEY。 那麼我缺少多少開銷? – tonix