Spec-Zone.ru › MySQL 8.4

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-8.4-en/miscellaneous-optimization-tips.html

Spec-Zone.ru

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