MySQL

:: DEVELOPER ZONE

Login / Register

  • MySQL.com
  • Developer Zone
  • Partners
  • Online Shop
  • Downloads
  • Documentation
  • Forums
  • Lists
  • Bugs
  • Events
  • User Groups
  • Guilds
  • Blogs
  • Support
  • Resources
  • Books
  • FAQ

Справочное руководство по MySQL 4.0. :: 5 Оптимизация в MySQL :: 5.2 Оптимизация SELECT и других запросов

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


  • Справочное руководство по MySQL 4.0.

  • 5 Оптимизация в MySQL
  • 5.1 Oбзор оптимизации
  • 5.2 Оптимизация SELECT и других запросов
    • 5.2.1 Синтаксис оператора EXPLAIN (получение информации о SELECT)
    • 5.2.2 Оценка производительности запроса
    • 5.2.3 Скорость выполнения запросов SELECT
    • 5.2.4 Как MySQL оптимизирует выражения WHERE
    • 5.2.5 Как MySQL оптимизирует DISTINCT
    • 5.2.6 Как MySQL оптимизирует LEFT JOIN и RIGHT JOIN
    • 5.2.7 Как MySQL оптимизирует ORDER BY
    • 5.2.8 Как MySQL оптимизирует LIMIT
    • 5.2.9 Скорость выполнения запросов INSERT
    • 5.2.10 Скорость выполнения запросов UPDATE
    • 5.2.11 Скорость выполнения запросов DELETE
    • 5.2.12 Другие советы по оптимизации
  • 5.3 Вопросы блокировок
  • 5.4 Оптимизация структуры базы данных
  • 5.5 Оптимизация сервера MySQL
  • 5.6 Вопросы, относящиеся к диску

Get the MySQL Language Reference and MySQL Administrator's Guide from MySQL Press!


Additional languages

  • German


Learn about new MySQL releases, technical articles, events and more.

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

5.2. Оптимизация SELECT и других запросов

5.2.1. Синтаксис оператора EXPLAIN (получение информации о SELECT)
5.2.2. Оценка производительности запроса
5.2.3. Скорость выполнения запросов SELECT
5.2.4. Как MySQL оптимизирует выражения WHERE
5.2.5. Как MySQL оптимизирует DISTINCT
5.2.6. Как MySQL оптимизирует LEFT JOIN и RIGHT JOIN
5.2.7. Как MySQL оптимизирует ORDER BY
5.2.8. Как MySQL оптимизирует LIMIT
5.2.9. Скорость выполнения запросов INSERT
5.2.10. Скорость выполнения запросов UPDATE
5.2.11. Скорость выполнения запросов DELETE
5.2.12. Другие советы по оптимизации

Сначала приведем одно правило, касающееся всех запросов: Чем сложнее ваша система привилений, тем больше издержек.

Если не было выполнено никаких операторов GRANT, MySQL каким-то образом будет оптимизировать проверку полномочий. Таким образом при наличии очень большого объема данных лучше, наверное, будет работать без привилегий. В противном случае при большом количестве полномочий проверка результатов будет происходить с увеличенными издержками.

Если проблема состоит в некоторой явной функции MySQL, всегда можно протестировать ее в клиенте:

mysql> SELECT BENCHMARK(1000000,1+1);
+------------------------+
| BENCHMARK(1000000,1+1) |
+------------------------+
|                      0 |
+------------------------+
1 row in set (0.32 sec)

Из приведенного выше примера видно, что MySQL может выполнять более 1000000 операций сложения за 0,32 секунды на PentiumII 400MHz.

Все функции MySQL достаточно хорошо оптимизированы, но могут попадаться некоторые исключения, и функция BENCHMARK(число_циклов,выражение) - хороший инструмент для выяснения, присутствует ли проблема в запросе.


This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

Top / Previous / Next / Up / Table of Contents

© 1995-2005 MySQL AB. All rights reserved.

  • About MySQL
  • Careers
  • Site Map
  • Contact Us
  • Legal
  • Privacy Policy
  • Trademark Info
  • No Software Patents!