Задавайте вопросы, мы ответим
Вы не зашли.
http://www.mysqlperformanceblog.com/200 … eature-51/
Насколько я понял при данной опции доступ к данным MyISAM (т.е. файлам .myd) идет непосредственно через кэш операционной системы с помощью сишной функции memcpy(), минуя системный вызов.
1. Выигрыш только за счет того, что системный вызов дороже?
2. За счет чего выигрыш при update/delete/insert? Это ведь требует изменения данных на диске.
Неактивен
Системный вызов читает файл с диска или из кэша операционной системы. Но последний не всегда эффективен. mmap - отображение файла в адресное пространство памяти. При этом оно отображается в виртуальную память, а виртуальная память отображается на реальную постранично по необходимости. Кэш ОС при этом не используется.
Утверждается, что этот механизм работает эффективнее. Системный вызов использует такой же механизм, но он не знает, что файл - таблица БД, поэтому из-за универсальности (и из-за возможности выпадания нужных страниц из кэша) может быть менее эффективен.
Неактивен