Spec-Zone.ru › MySQL 9.2

10.2.7 Другие советы по оптимизации

В этом разделе перечислены различные рекомендации для повышения скорости обработки запросов:

  • Если ваше приложение выполняет несколько запросов к базе данных для выполнения связанных обновлений, объединение операторов в хранимую процедуру может улучшить производительность. Аналогично, если ваше приложение вычисляет один результат на основе нескольких значений столбцов или больших объемов данных, объединение вычислений в загружаемую функцию может улучшить производительность. Результат — быстрые операции с базой данных, которые затем могут быть повторно использованы другими запросами, приложениями и даже кодом, написанным на разных языках программирования. Дополнительную информацию см. в разделе 27.2 «Использование хранимых процедур» и Добавлении функций в MySQL.

  • Для решения любых проблем сжатия, возникающих с таблицами ARCHIVE, используйте OPTIMIZE TABLE. См. раздел 18.5 «Архивный механизм хранения данных».

  • Если это возможно, классифицируйте отчеты как “оперативные” или как “статистические”, где данные, необходимые для статистических отчетов, создаются только из сводных таблиц, которые периодически генерируются из оперативных данных.

  • Если у вас есть данные, которые плохо подходят для структуры таблицы «строки и столбцы», вы можете упаковать и сохранить данные в столбец BLOB. В этом случае вам необходимо предоставить код в своем приложении для упаковки и распаковки информации, но это может сэкономить операции ввода-вывода для чтения и записи наборов связанных значений.

  • Для веб-серверов храните изображения и другие двоичные ресурсы в виде файлов, а путь к файлу храните в базе данных, а не сам файл. Большинство веб-серверов лучше кешируют файлы, чем содержимое базы данных, поэтому использование файлов обычно быстрее. (Хотя в этом случае вы должны самостоятельно обрабатывать резервное копирование и проблемы хранения.)

  • Если вам нужна очень высокая скорость, обратите внимание на низкоуровневые интерфейсы MySQL. Например, получив прямой доступ к механизму хранения данных MySQL InnoDB или MyISAM, вы можете получить значительное повышение скорости по сравнению с использованием интерфейса SQL.

    Аналогично, для баз данных, использующих механизм хранения NDBCLUSTER, вы можете изучить возможные варианты использования API NDB (см. ).

  • Репликация может предоставить преимущества производительности для некоторых операций. Вы можете распределить запросы клиентов среди реплик, чтобы разделить нагрузку. Чтобы избежать замедления источника при создании резервных копий, вы можете создавать резервные копии с использованием реплики. См. главу 19 «Репликация».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/miscellaneous-optimization-tips.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API