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

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

30 голосов
/ 09 декабря 2010

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

Ответы [ 3 ]

18 голосов
/ 09 декабря 2010

Ну

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

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

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

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

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

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

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

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

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

18 голосов
/ 09 декабря 2010

Страницы базы данных являются внутренней базовой структурой для организации данных в файлах базы данных. Вот некоторые сведения о модели 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 ГБ.

5 голосов
/ 09 декабря 2010

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

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

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

...