- (4 Страниц)
-
- 1
- 2
- 3
- →
- Последняя »
Форум/хостинг
#1
Отправлено 03 апреля 2007 - 12:44
Снова возникли проблемы с перегрузкой хостинга нашим сайтом...
В вашем аккаунте зафиксировано превышение квоты
на загрузку сервера баз данных.
База данных, превышающая квоту: *****
Параметры запроса, вызывающего проблему:
(приводятся параметры одного из запросов)
Время исполнения, секунд - 13
Кол-во просмотренных строк - 87658
Запрос:
-------
use *****;
SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id,
t.topic_title, t.topic_last_post_id
FROM ((( forum_forums f
LEFT JOIN forum_posts p ON p.post_id = f.forum_last_post_id )
LEFT JOIN forum_topics t ON t.topic_last_post_id = p.post_id )
LEFT JOIN forum_users u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order;
-------
У меня две мысли по решению этой проблемы:
1) покупка дорогущего хостинга
2) установка нового форума
второе решение имеет минус в том что полетят к чертям все "гаражи", "блоги" и прочие прикрутки к форуму ...
В вашем аккаунте зафиксировано превышение квоты
на загрузку сервера баз данных.
База данных, превышающая квоту: *****
Параметры запроса, вызывающего проблему:
(приводятся параметры одного из запросов)
Время исполнения, секунд - 13
Кол-во просмотренных строк - 87658
Запрос:
-------
use *****;
SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id,
t.topic_title, t.topic_last_post_id
FROM ((( forum_forums f
LEFT JOIN forum_posts p ON p.post_id = f.forum_last_post_id )
LEFT JOIN forum_topics t ON t.topic_last_post_id = p.post_id )
LEFT JOIN forum_users u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order;
-------
У меня две мысли по решению этой проблемы:
1) покупка дорогущего хостинга
2) установка нового форума
второе решение имеет минус в том что полетят к чертям все "гаражи", "блоги" и прочие прикрутки к форуму ...
Мой моск есд аццкий асьминок
#2
Отправлено 03 апреля 2007 - 12:52
Jons (13:44:22 3/04/2007)
что вы можете посоветовать по этому поводу?
Суппорт 1Gb.ru (13:56:26 3/04/2007)
Добрый день.
Суппорт 1Gb.ru (13:56:43 3/04/2007)
Это стандартный портал, посоветовать что либо сложнО, поймите, что он пытается сделать.
Суппорт 1Gb.ru (13:56:47 3/04/2007)
(запрос)
Суппорт 1Gb.ru (13:56:53 3/04/2007)
и рассмотрите необходимость этого элемента форума или сайта.
Jons (13:57:07 3/04/2007)
может ли это быть от того что используется старая версия пхп-бб
Суппорт 1Gb.ru (13:57:19 3/04/2007)
Насколько старая?
Jons (13:57:32 3/04/2007)
ну по-моему года 2003-4
Суппорт 1Gb.ru (13:57:41 3/04/2007)
Может быть, там недостает каких-то индексов.
Суппорт 1Gb.ru (13:57:45 3/04/2007)
Да, такое возможно.
Jons (13:58:18 3/04/2007)
Хорошо, в ближайшие 2 дня постараемся решить эту проблему
что вы можете посоветовать по этому поводу?
Суппорт 1Gb.ru (13:56:26 3/04/2007)
Добрый день.
Суппорт 1Gb.ru (13:56:43 3/04/2007)
Это стандартный портал, посоветовать что либо сложнО, поймите, что он пытается сделать.
Суппорт 1Gb.ru (13:56:47 3/04/2007)
(запрос)
Суппорт 1Gb.ru (13:56:53 3/04/2007)
и рассмотрите необходимость этого элемента форума или сайта.
Jons (13:57:07 3/04/2007)
может ли это быть от того что используется старая версия пхп-бб
Суппорт 1Gb.ru (13:57:19 3/04/2007)
Насколько старая?
Jons (13:57:32 3/04/2007)
ну по-моему года 2003-4
Суппорт 1Gb.ru (13:57:41 3/04/2007)
Может быть, там недостает каких-то индексов.
Суппорт 1Gb.ru (13:57:45 3/04/2007)
Да, такое возможно.
Jons (13:58:18 3/04/2007)
Хорошо, в ближайшие 2 дня постараемся решить эту проблему
Мой моск есд аццкий асьминок
#4
Отправлено 03 апреля 2007 - 13:41
А правда, чего за запрос за такой?
в phpBB нашел только один похожий запрос (с самым большим объединением таблиц):
Это заглавная страница форума со списком форумов и ссылкой на последние посты в форуме.
Здесь похоже прикручено еще и название топика.
Может быть подумать и с топиком как нить по другому решить? мне кажется там не сильно красявое решение с
LEFT JOIN forum_topics t ON t.topic_last_post_id = p.post_id )
обязательно индексы на
forum_posts :: post_id
forum_topics :: topic_last_post_id
forum_users :: user_id
forum_forums :: cat_id, forum_order (возможно составной по двум полям)
ЗЫ: Все в меру своего незнакомства с базами. как бы общие рекомендации.
SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id, t.topic_title, t.topic_last_post_id
FROM ((( forum_forums f
LEFT JOIN forum_posts p ON p.post_id = f.forum_last_post_id )
LEFT JOIN forum_topics t ON t.topic_last_post_id = p.post_id )
LEFT JOIN forum_users u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order;
FROM ((( forum_forums f
LEFT JOIN forum_posts p ON p.post_id = f.forum_last_post_id )
LEFT JOIN forum_topics t ON t.topic_last_post_id = p.post_id )
LEFT JOIN forum_users u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order;
в phpBB нашел только один похожий запрос (с самым большим объединением таблиц):
SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM (( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order";
FROM (( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order";
Это заглавная страница форума со списком форумов и ссылкой на последние посты в форуме.
Здесь похоже прикручено еще и название топика.
Может быть подумать и с топиком как нить по другому решить? мне кажется там не сильно красявое решение с
LEFT JOIN forum_topics t ON t.topic_last_post_id = p.post_id )
обязательно индексы на
forum_posts :: post_id
forum_topics :: topic_last_post_id
forum_users :: user_id
forum_forums :: cat_id, forum_order (возможно составной по двум полям)
ЗЫ: Все в меру своего незнакомства с базами. как бы общие рекомендации.

#6
Отправлено 03 апреля 2007 - 16:02
(Jons)
Запрос:
use *****;
SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id,
t.topic_title, t.topic_last_post_id
FROM ((( forum_forums f
LEFT JOIN forum_posts p ON p.post_id = f.forum_last_post_id )
LEFT JOIN forum_topics t ON t.topic_last_post_id = p.post_id )
LEFT JOIN forum_users u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order;
У меня две мысли по решению этой проблемы:
1) покупка дорогущего хостинга
2) установка нового форума
use *****;
SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id,
t.topic_title, t.topic_last_post_id
FROM ((( forum_forums f
LEFT JOIN forum_posts p ON p.post_id = f.forum_last_post_id )
LEFT JOIN forum_topics t ON t.topic_last_post_id = p.post_id )
LEFT JOIN forum_users u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order;
У меня две мысли по решению этой проблемы:
1) покупка дорогущего хостинга
2) установка нового форума
Третья мысль (проверить не могу, не та версия)... Запрос должен выглядеть по другому. Процентов на 98 в forum_posts есть ссылка на топик. По ней и надо джойнить forum_posts -> forum_topics, аналогично forum_posts -> forum_users
SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id,
t.topic_title, t.topic_last_post_id
FROM ((( forum_forums f
LEFT JOIN forum_posts p ON p.post_id = f.forum_last_post_id )
LEFT JOIN forum_topics t ON t.topic_id = p.topic_id )
LEFT JOIN forum_users u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order;
Потом уже можно побиться с индексами.
- (4 Страниц)
-
- 1
- 2
- 3
- →
- Последняя »