Общие рекомендации по повышению производительности.
Запускать mysqld с правильно подобранными опциями (. настройка переменных ).
Для ускорения SELECT запросов построить индексы для тех полей, которые участвуют в условии WHERE.
Оптимизировать типы полей. По возможности использовать NOT NULL. (. работу с таблицами ).
В MySQL применяется два способа блокировки таблиц (lock table) - внутренняя и внешняя блокировки. Внутренняя блокировка позволяет делать операции по изменению / данных атомарными ( конфликтующими с другими пользователями ). Внешняя блокировка применяется для одновременного доступа нескольких MySQL серверов к одним и тем же базам данных, а также внешняя блокировка позволяет запускать isamchk без остановки MySQL. Чтобы запретить использование внешней блокировки нужно запускать mysqld с опцией -skip-locking. Запрет внешней блокировки существенно повысит скорость работы, но при этом перед запуском isamchk нужно предварительно сбросить все данные на диск командой mysqladmin flush-tables. Также при запрете внешней блокировки нельзя будет использовать несколько серверов для работы с теми же базами данных.
Задание прав доступа на конкретную таблицу или поле снижает производительность.
Во второй части будет описана работа с блокировкой таблиц при изменении и добавлении данных и как это влияет на скорость работы.
Все замечания и пожелания принимаются по адресу
Содержание раздела