Spec-Zone .ru
спецификации, руководства, описания, API

14.2.2.3. Используя Необработанные Разделы диска для Совместно используемой Табличной области

Можно использовать необработанные разделы диска в качестве файлов данных в InnoDB системная табличная область. Этот метод включает небуферизованному вводу-выводу на Windows и на некоторых системах Linux и Unix без издержек файловой системы. Выполните тесты с и без необработанных разделов, чтобы проверить, улучшает ли это изменение фактически производительность относительно Вашей системы.

Когда Вы создаете новый файл данных, помещаете ключевое слово newraw сразу после размера файла данных в innodb_data_file_path. Раздел должен быть, по крайней мере, столь же большим как размер, который Вы определяете. Отметьте тот 1 МБ в InnoDB 1024 × 1024 байта, тогда как 1 МБ в дисковых спецификациях обычно означает 1 000 000 байтов.

[mysqld]innodb_data_home_dir=innodb_data_file_path=/dev/hdd1:3Gnewraw;/dev/hdd2:2Gnewraw

В следующий раз Вы запускаете сервер, InnoDB уведомления newraw ключевое слово и инициализирует новый раздел. Однако, не создавайте или изменяйте никого InnoDB таблицы все же. Иначе, когда Вы затем перезапускаете сервер, InnoDB повторно инициализирует раздел, и Ваши изменения теряются. (Как мера по безопасности InnoDB препятствует тому, чтобы пользователи изменили данные когда любой раздел с newraw определяется.)

После InnoDB инициализировал новый раздел, остановите сервер, изменение newraw в спецификации файла данных к raw:

[mysqld]innodb_data_home_dir=innodb_data_file_path=/dev/hdd1:3Graw;/dev/hdd2:2Graw

Затем перезапустите сервер и InnoDB разрешения изменяются, чтобы быть сделанными.

На Windows можно выделить раздел диска как файл данных как это:

[mysqld]innodb_data_home_dir=innodb_data_file_path=//./D::10Gnewraw

//./ соответствует синтаксису Windows \\.\ для того, чтобы получить доступ к физическим дискам.

Когда Вы используете необработанный раздел диска, гарантируете, что идентификатор пользователя, который выполняет сервер MySQL, читал и полномочия записи для того раздела. Например, если Вы выполняете сервер как mysql пользователь, раздел должен быть читаемым и writeable mysql. Если Вы выполняете сервер с --memlock опция, сервер должен быть выполнен как root, таким образом, раздел должен быть читаемым и writeable root.