Как мы можем изменить размер страницы SQL Server? - PullRequest
6 голосов
/ 15 августа 2011

Per MSDN ,

В SQL Server размер страницы составляет 8 КБ.Это означает, что базы данных SQL Server имеют 128 страниц на мегабайт.

Как изменить размер страницы, например, на 4 КБ или 12 КБ и т. Д.

Также, из-за " врожденного аппаратного ограничения" размер страницы выбран равным 8 КБ?

или 8 КБ - просто произвольное число, выбранное на основе эвристики для оптимизации большинства вариантов использования?

Ответы [ 3 ]

20 голосов
/ 15 августа 2011

Краткий ответ: вы не можете изменить его.

Из соображений эффективности адресации ( TLB ) и эффективности ввода-вывода (см. Чтение или запись в файлы с использованием разброса-Собрать схему ) размер страницы базы данных должен быть кратным размеру страницы ОС, что определяется аппаратной архитектурой платформы.Архитектура x86 имеет размер страницы 4 КБ (см. врезку на вики-статье x86 или см. Руководства Intel для разработчиков ПО ), более новые архитектуры предлагают большие страницы, а SQL Server использует их для памятивыделение ресурсов, см. Объяснение SQL Server и больших страниц .

Из-за переносимости файлов базы данных формат файла на диске не может быть изменен для размещения современных страниц большего размера с ЦП, это нарушит возможностьпрочитайте базу данных на старом оборудовании.И опыт показывает, что 1 МБ страницы довольно сложно выделить вскоре после запуска ОС из-за физической фрагментации ОЗУ (страница процессора должна отображаться на смежную аппаратную страницу).И такая большая страница не будет хорошо работать с WAL (см. ARIES ).

5 голосов
/ 15 августа 2011

SQL Server не позволяет изменять размер страницы - это фиксированный размер 8 КБ с фиксированным размером заголовка / раздела данных.

2 голосов
/ 15 августа 2011

1) Страница 8 КБ - это всего лишь наследство. Я не думаю, что есть «хорошая» причина для фиксированного ограничения размера страницы в 8 КБ, но его изменение, вероятно, потребует от Microsoft больших инвестиций и, возможно, трудного пути обновления для клиентов.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...