Я провел некоторые измерения, используя таблицу MyISAM
, чтобы получить ответ, сравнив размер файла таблицы dec.MYD
после добавления нескольких столбцов в шесть строк данных. Вот что я получаю:
Original:
-rw-rw----. 1 mysql mysql 54 Dec 17 18:49 dec.MYD
Add one column of DECIMAL(2,1):
-rw-rw----. 1 mysql mysql 66 Dec 17 18:51 dec.MYD
Further add one column of DECIMAL(4,1):
-rw-rw----. 1 mysql mysql 84 Dec 17 18:51 dec.MYD
Заключение:
DECIMAL(2,1) requires (66-54)/6 = 2 bytes in total
DECIMAL(4,1) requires (84-66)/6 = 3 bytes in total
Обратите внимание, что тестирование не так просто, так как первый столбец, кажется, всегда 7 байтов, независимо от того, DECIMAL(2,1)
или INT
. Вам нужно добавить больше столбцов, чтобы воспроизвести приведенный выше результат.