Классика баз данных - статьи

       

Общие рекомендации по повышению производительности.


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

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

    Все замечания и пожелания принимаются по адресу



    Содержание раздела