оптимизация базы данных

#mysql #database #optimization

#mysql #База данных #оптимизация

Вопрос:

Я использую PHP и MySQL с сервером IIS. Скорость работы моего сайта очень низкая. Может ли кто-нибудь предложить мне хорошие методы оптимизации базы данных и запросов? На этом сайте большой трафик и большая база данных.

Комментарии:

1. @diEcho прав. И откуда вы знаете, что ваша проблема в производительности базы данных, а не в производительности веб-сервера или кода веб-приложения?

Ответ №1:

В зависимости от того, как вы хотели бы оптимизировать. (Меня забавляет, что вы используете PHP, но это может в значительной степени применяться ко всем языкам).

Вы могли бы попытаться сделать ваши запросы более эффективными, чтобы вы делали меньше обращений к серверу во время каждого запроса.

Вы также могли бы попробовать использовать кэширование, например — http://memcached.org / . Таким образом, вам не нужно вызывать базу данных / файлы для создания страницы по каждому запросу, вы просто извлекаете ее из кэша.

И одна статья, которая мне понравилась, была — http://20bits.com/articles/10-tips-for-optimizing-mysql-queries-that-dont-suck — возможно, это и вам поможет.

Комментарии:

1. я уже читал 20bits.com и я применяю все правила. я не могу понять, в чем проблема. я использую индексы, сужаю структуру данных, но эффективного результата нет

Ответ №2:

  • Проверьте индексы в вашей базе данных.

Если вы присоединитесь, убедитесь, что можете использовать индекс. Если вы что-то ищете, делайте это с умом. Нет полнотекстового поиска, только индексы и т.д.

  • Проверьте журнал медленных запросов. Или проверьте свои запросы с помощью explain для этого.

  • Убедитесь, что вы ничего не делаете с блокировкой таблиц. Используете ли вы InnoDB? Тогда вам повезет больше, потому что вы получите блокировку на уровне строк.

  • Проверьте, достаточно ли у вас доступных подключений к вашему серверу.

  • Проверьте настройки кэширования.

Комментарии:

1. я использую myisam . и как я могу проверить журнал медленных запросов.