にわかサーバー屋さんの覚書

サーバー系を担当しているけど、設計などは日々勉強中のプログラマの覚書

MySQL - テーブル容量の見積り

 まったくTip的なところは無いんですが、

テーブルの容量は、

 

普通に

レコードサイズ * レコード数

なので、

 

それぞれのテーブル項目のデータ型から、バイト数を計算。

 

データタイプ 要求ストレージ
TINYINT 1バイト
SMALLINT 2バイト
MEDIUMINT 3バイト
INTINTEGER 4バイト
BIGINT 8バイト
データタイプ 記憶容量
DATE 3バイト
DATETIME 8バイト
TIMESTAMP 4バイト

 

VARCHARの場合

ータタイプ 記憶容量
CHAR(M) M byte、0 <= M <= 255
VARCHAR(M)

Length + 1 byte(M<=255)

Length + 2 byte(M>=256).

 

VARCHAR(MAX)とすると、

MAX*3byte(UTF-8) + (MAX<256) ? 1 : 2

こんな感じで計算。

 

CHARとVARCHARは、固定長か可変長か。

うーん、基本的にはVARCHARでいいか。

 

 これでテーブル容量の見積はできるのかなー。