Большая нагрузка при большом количестве блогов

Когда я добавил в базу около 4000 блогов, на сервер пошла слишком большая нагрузка.
Например на главной странице выполняется 18 запросов в БД, а когда заходишь в конкретный блог, выполняется около 8000 запросов.

Оставить такую нагрузку на сайт с большой аудиторией не есть хорошо.
И у меня вопрос. Можно ли что-нибудь с этим поделать?

Большая нагрузка при большом количестве блогов

4 комментария

avatar
включите логирование sql запросов, выследите медленные, добавьт индексы на поля и должна нагрузочка спасть. Хотя кэшн 8000 запросов это жесть
avatar
[2011-01-02 17:19:43][12451][DEBUG][  -- 1 ms; returned 3 row(s)]
[2011-01-02 17:19:43][12451][DEBUG][
            SELECT bp.blog_id AS ARRAY_KEY, bp.*, bc.category_title, bc.category_url
            FROM prefix_mblog_param AS bp
                LEFT JOIN prefix_mblog_category AS bc ON bc.category_id=bp.category_id
            WHERE blog_id IN ('3', '4', '5', '6', '7', '8', '9', ..., '4106', '4107', '4108')]
[2011-01-02 17:19:43][12451][DEBUG][  -- 23 ms; returned ('3', 'attach_allow', '0')]

Вот этот запрос напрягает. Он делает выборку из всех блогов.
И еще, как можно добавить индексы к таблице? Я погуглил, нормального ответа не нашел, только если составлять запрос. Можно ли это сделать средствами phpMyAdmin (2.11.8.1deb5+lenny4)? И сильно ли это поможет?
avatar
avatar
Благодарю.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.