Подтвердить что ты не робот

MySQL: что такое страница?

Я не могу на всю жизнь помнить, что такое страница, в контексте базы данных MySQL. Когда я вижу что-то вроде 8 КБ/страницы, значит ли это 8 КБ в строке или...?

4b9b3361

Ответ 1

Страницы базы данных являются внутренней базовой структурой для организации данных в файлах базы данных. Ниже приведена некоторая информация о модели InnoDB:

С 13.2.11.2. Управление файловым пространством:

Файлы данных, которые вы определяете в файле конфигурации, образуют табличное пространство InnoDB. Файлы логически объединяются для формирования табличного пространства. [...] Табличное пространство состоит из страниц базы данных с размером по умолчанию 16 КБ. Страницы сгруппированы по размеру 1 МБ (64 последовательных страницы). "Файлы" внутри табличного пространства называются сегментами в InnoDB.

И с 13.2.14. Ограничения для таблиц InnoDB

Размер страницы базы данных по умолчанию в InnoDB составляет 16 КБ. Перекомпилировав код, вы можете установить для него значения в диапазоне от 8 до 64 КБ.

Далее, чтобы разместить строки по отношению к страницам:

Максимальная длина строки, за исключением столбцов переменной длины (VARBINARY, VARCHAR, BLOB и TEXT), немного меньше половины страницы базы данных. То есть максимальная длина строки составляет около 8000 байт. Столбцы LONGBLOB и LONGTEXT должны быть менее 4 ГБ, а общая длина строки, включая столбцы BLOB и TEXT, должна быть менее 4 ГБ.

Ответ 2

Ну,

это не вопрос о MySql, а о том, какой размер страницы в целом используется в управлении памятью.

Вы можете прочитать об этом здесь: http://en.wikipedia.org/wiki/Page_(computer_memory)

Просто поместите его самую маленькую единицу данных, которая обменивается/хранится.

Размер страницы по умолчанию - 4k, что, вероятно, прекрасно.

Если у вас большие наборы данных или только очень мало операций записи, это может повысить производительность, чтобы повысить размер страницы.

Посмотрите здесь: http://db.apache.org/derby/manuals/tuning/perf24.html

Почему? Потому что больше данных может быть вычислено/адресовано сразу. Если вероятность высока, что требуемые данные находятся в непосредственной близости от данных, которые вы только что выбрали, или сразу после этого (ну, на самом деле это не в 3d-пространстве, но я думаю, что вы понимаете, что я имею в виду), вы можете просто взять его за одну операцию и лучше использовать несколько технологий кэширования и сбора данных, в общем, с вашего жесткого диска.

Но с другой стороны вы теряете пространство, если у вас есть данные, которые не заполняют размер страницы или просто немного больше или что-то в этом роде.

У меня лично никогда не было случая, когда важна настройка размера страницы. Всегда были лучшие подходы к оптимизации производительности, а если нет, то это было уже более чем достаточно быстро.

Ответ 3

Это размер данных, которые хранятся/считываются/записываются на диск и в память.

Различные размеры страниц могут работать лучше или хуже для разных рабочих нагрузок/наборов данных; то есть иногда вам может потребоваться больше строк на странице или меньше строк на странице. Сказав это, размер страницы по умолчанию отлично подходит для большинства приложений.

Обратите внимание, что "страницы" не уникальны для MySQL. Это аспект параметра для всех баз данных.