Скільки пам’яті має MySQL?

Ви використовуєте таблицю MyISAM, і простір, необхідний для таблиці, перевищує допустимий розмір внутрішнього покажчика. MyISAM за замовчуванням дозволяє збільшувати дані та файли індексу до 256 ТБ, але це обмеження можна змінити до максимально допустимого розміру 65 536 ТБ (2567 − 1 байт).

Таким чином кожен рядок особи має потребувати (3 * 4 байти) + 20 байтів, тобто 32 байти. Таким чином, якщо ми додамо 100 рядків, MySQL в ідеалі має вимагати 3200 байт, тобто 3,2 КБ. Якщо ми очікуємо додати близько 10 мільйонів рядків, нам знадобиться близько 320 МБ.

Внутрішнє представлення таблиці MySQL має максимальний розмір рядка 65 535 байт, навіть якщо система зберігання даних здатна підтримувати більші рядки. Стовпці BLOB і TEXT займають від 9 до 12 байт до обмеження розміру рядка, оскільки їх вміст зберігається окремо від решти рядка.

Таблиці MyISAM мають стандартний ліміт 256 ТБ для файлів даних і індексів, який можна змінити на Максимум 65 536 ТБ. Максимальний розмір InnoDB для таблиць становить 256 ТБ, що відповідає повному розміру табличного простору.

MySQL має жорстке обмеження 4096 стовпців на таблицю, але ефективний максимум може бути меншим для даної таблиці. Точне обмеження стовпців залежить від кількох факторів: Максимальний розмір рядка для таблиці обмежує кількість (і, можливо, розмір) стовпців, оскільки загальна довжина всіх стовпців не може перевищувати цей розмір.