Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

проблема с запросом

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Slon77
phpBB 1.4.2
Сообщения: 52
Стаж: 17 лет 10 месяцев

проблема с запросом

Сообщение Slon77 »

прошу помочь.
провайдер (mchost) уведомил о резком превышении нагрузки и отключил доступ к БД и в качестве аргумента привел следующее:

Код: Выделить всё

Из статистики MySQL:

+---------------+-------------------+------------------------+----------------+-----------+--------------+--------------+-----------------+-----------------+----------------+---------------------+-----------------------+
| USER          | TOTAL_CONNECTIONS | CONCURRENT_CONNECTIONS | CONNECTED_TIME | BUSY_TIME | ROWS_FETCHED | ROWS_UPDATED | SELECT_COMMANDS | UPDATE_COMMANDS | OTHER_COMMANDS | COMMIT_TRANSACTIONS | ROLLBACK_TRANSACTIONS |
+---------------+-------------------+------------------------+----------------+-----------+--------------+--------------+-----------------+-----------------+----------------+---------------------+-----------------------+
| forum |             24281 |                      0 |          49879 |     36905 |       747470 |        31397 |           80976 |           32291 |            194 |                   0 |                     0 |
+---------------+-------------------+------------------------+----------------+-----------+--------------+--------------+-----------------+-----------------+----------------+---------------------+-----------------------+

Примеры запросов:

SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user
_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*,  pt.post_text, pt.p
ost_subject, pt.bbcode_uid
        FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt
        WHERE p.topic_id = 8185

                AND pt.post_id = p.post_id
                AND u.user_id = p.poster_id
        ORDER BY p.post_time ASC
        LIMIT 60, 15;

SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user
_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*,  pt.post_text, pt.p
ost_subject, pt.bbcode_uid
        FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt
        WHERE p.topic_id = 8908

                AND pt.post_id = p.post_id
                AND u.user_id = p.poster_id
        ORDER BY p.post_time ASC
        LIMIT 45, 15;

насколько это "тяжелый" запрос? можно ли как-то оптимизировать? кто что посоветует?
заранее спасибо!
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2209
Стаж: 16 лет 4 месяца
Откуда: Павлодар
Благодарил (а): 5 раз
Поблагодарили: 153 раза

Re: проблема с запросом

Сообщение nissin »

Было что-то подобное, переписал через JOIN. Должно получиться что-то вроде.

Код: Выделить всё

        FROM phpbb_posts p
                LEFT JOIN phpbb_users u ON u.user_id = p.poster_id
                LEFT JOIN phpbb_posts_text pt ON pt.post_id = p.post_id
        WHERE p.topic_id = 8185
        ORDER BY p.post_time ASC
        LIMIT 60, 15;
Всё повторяется. nurlan.info

Вернуться в «Поддержка phpBB 2.0.x»