powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Вопросы по форуму [игнор отключен] [закрыт для гостей] / Долгое открытие подфорумов с большим количеством тем
25 сообщений из 33, страница 1 из 2
Долгое открытие подфорумов с большим количеством тем
    #40137971
Администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Администратор
Например, на ПТ, MSSQL и т.п. больших подфорумах наблюдается долгое открытие, до 4 секунд в аднный момент. При этом, в больших топиках с 4000 страниц открытие вполне себя быстрое.

Проблема частично локализована

Тесты

Без хинта на индекс
pasted_image.png
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
   select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic
           inner join v1_topic_statistics on (v1_topic.id = v1_topic_statistics.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 3 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           order by v1_topic_statistics.last_message_date desc
           limit 0, 37
;
с хинтом
pasted_image.png
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic
           inner join v1_topic_statistics use index (v1_topic_statistics_lmdate_idx) on (v1_topic.id = v1_topic_statistics.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 3 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           order by v1_topic_statistics.last_message_date desc
           limit 0, 37
;
Почему-то MySQL не подхватывал индекс на колонку, хотя он есть.

Будет решено в ближайшем патче.
...
Изменено: 04.09.2023, 18:55 - Администратор
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40137974
Гарыныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Администратор  04.09.2023, 18:54
[игнорируется]
Например, на ПТ, MSSQL и т.п. больших подфорумах наблюдается долгое открытие, до 4 секунд в аднный момент. При этом, в больших топиках с 4000 страниц открытие вполне себя быстрое.

Проблема частично локализована

Тесты

Без хинта на индекс
pasted_image.png
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
   select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic
           inner join v1_topic_statistics on (v1_topic.id = v1_topic_statistics.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 3 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           order by v1_topic_statistics.last_message_date desc
           limit 0, 37
;
с хинтом
pasted_image.png
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic
           inner join v1_topic_statistics use index (v1_topic_statistics_lmdate_idx) on (v1_topic.id = v1_topic_statistics.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 3 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           order by v1_topic_statistics.last_message_date desc
           limit 0, 37
;
Почему-то MySQL не подхватывал индекс на колонку, хотя он есть.

Будет решено в ближайшем патче.
гуд!
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138014
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
  select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic use index (v1_topic_forum_id_idx)
           inner join v1_topic_statistics on (v1_topic.id = v1_topic_statistics.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 3 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           order by v1_topic_statistics.last_message_date desc
           limit 0, 38;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138015
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic use index (v1_topic_forum_id_idx)
           inner join v1_topic_statistics on (v1_topic.id = v1_topic_statistics.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 64 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           order by v1_topic_statistics.last_message_date desc
           limit 0, 38;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138016
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
  select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic use index (v1_topic_forum_id_idx)
           inner join v1_topic_statistics on (v1_topic.id = v1_topic_statistics.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 46 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           order by v1_topic_statistics.last_message_date desc
           limit 0, 38;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138017
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
  select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic use index (v1_topic_forum_id_idx)
           inner join v1_topic_statistics on (v1_topic.id = v1_topic_statistics.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 52 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           order by v1_topic_statistics.last_message_date desc
           limit 0, 38;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138018
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           fts.last_message_date,
           fts.post_count,
           fts.post_count_total,
           fts.hits_count,
           fts.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic use index (v1_topic_forum_id_idx)
           inner join
           (select
           topic_id, last_message_date, post_count, post_count_total, hits_count, bot_hits_count
           from v1_topic_statistics order by v1_topic_statistics.last_message_date desc) fts
           on (v1_topic.id = fts.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 3 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           limit 0, 38;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138019
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           fts.last_message_date,
           fts.post_count,
           fts.post_count_total,
           fts.hits_count,
           fts.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic use index (v1_topic_forum_id_idx)
           inner join
           (select
           topic_id, last_message_date, post_count, post_count_total, hits_count, bot_hits_count
           from v1_topic_statistics order by v1_topic_statistics.last_message_date desc) fts
           on (v1_topic.id = fts.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 64 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           limit 0, 38;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138020
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           fts.last_message_date,
           fts.post_count,
           fts.post_count_total,
           fts.hits_count,
           fts.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic use index (v1_topic_forum_id_idx)
           inner join
           (select
           topic_id, last_message_date, post_count, post_count_total, hits_count, bot_hits_count
           from v1_topic_statistics order by v1_topic_statistics.last_message_date desc) fts
           on (v1_topic.id = fts.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 46 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           limit 0, 38;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138021
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           fts.last_message_date,
           fts.post_count,
           fts.post_count_total,
           fts.hits_count,
           fts.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
           from v1_topic use index (v1_topic_forum_id_idx)
           inner join
           (select
           topic_id, last_message_date, post_count, post_count_total, hits_count, bot_hits_count
           from v1_topic_statistics order by v1_topic_statistics.last_message_date desc) fts
           on (v1_topic.id = fts.topic_id)
           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 52 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0 and v1_topic.id not in (2186819,2186821)
           limit 0, 38;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138022
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
            from
              (select
               topic_id, last_message_date, post_count, post_count_total, hits_count, bot_hits_count
               from v1_topic_statistics order by last_message_date desc) v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 3 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           limit 0, 40;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138023
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
            from
              (select
               topic_id, last_message_date, post_count, post_count_total, hits_count, bot_hits_count
               from v1_topic_statistics order by last_message_date desc) v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 64 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           limit 0, 40;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138024
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
            from
              (select
               topic_id, last_message_date, post_count, post_count_total, hits_count, bot_hits_count
               from v1_topic_statistics order by last_message_date desc) v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 46 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           limit 0, 40;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138025
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
            from
              (select
               topic_id, last_message_date, post_count, post_count_total, hits_count, bot_hits_count
               from v1_topic_statistics order by last_message_date desc) v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 52 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           limit 0, 40;
pasted_image.png
...
Рейтинг: 1 / 0
Нравится: Гарыныч
Долгое открытие подфорумов с большим количеством тем
    #40138026
Гарыныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нраится!
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138027
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гарыныч  11.09.2023, 16:29
[игнорируется]
нраится!
Пока нравится нечему. Этот подфорум, на 10 тем, открывается 6 секунд сейчас. Ну это бред.
Цитата 
[игнорируется]
По поводу запросов. Выполняя один и тот же запрос, но просто с разными ID форума четко вижу что оптимизатор выбирает разные планы в зависимости от форума. Без хинтов он лагает с выбором хорошего плана для ПТ.

С хинтами такое дело, они пригвоздают к опредленному пути, который не всегда оптимален.

В общем у меня есть запрос, который хорошо работает на форумах ПТ, MS SQL и Oracle, но плохо на маленьких форумах.

У меня есть запрос, который хорошо работает на форумах ПТ и на маленьких форумах, но плохо на MS SQL и Oracle.

Получается дилемма либо либо.

Без хитов оптимайзер не всегда выбирает правильный. С хинтами привгождает в плану который не всегда оптимален.
Я восстанавливаю текущий бэкап. Запущу оптимизацию таблицы, возможно после этого оптимайзер будет более эффективно выбирать планы.
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138028
Гарыныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
basename  11.09.2023, 16:39
[игнорируется]
Гарыныч  11.09.2023, 16:29
[игнорируется]
нраится!
Пока нравится нечему. Этот подфорум, на 10 тем, открывается 6 секунд сейчас. Ну это бред.
Цитата 
[игнорируется]
По поводу запросов. Выполняя один и тот же запрос, но просто с разными ID форума четко вижу что оптимизатор выбирает разные планы в зависимости от форума. Без хинтов он лагает с выбором хорошего плана для ПТ.

С хинтами такое дело, они пригвоздают к опредленному пути, который не всегда оптимален.

В общем у меня есть запрос, который хорошо работает на форумах ПТ, MS SQL и Oracle, но плохо на маленьких форумах.

У меня есть запрос, который хорошо работает на форумах ПТ и на маленьких форумах, но плохо на MS SQL и Oracle.

Получается дилемма либо либо.

Без хитов оптимайзер не всегда выбирает правильный. С хинтами привгождает в плану который не всегда оптимален.
Я восстанавливаю текущий бэкап. Запущу оптимизацию таблицы, возможно после этого оптимайзер будет более эффективно выбирать планы.
понятно
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138031
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
/* ПТ */

select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
               from v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 3 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           order by last_message_date desc
           limit 0, 40;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138032
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
/* Вопросы */

select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
               from v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 64 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           order by last_message_date desc
           limit 0, 40;
pasted_image.png
...
Изменено: 12.09.2023, 12:20 - basename
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138033
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
/* MS SQL */

select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
               from v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 46 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           order by last_message_date desc
           limit 0, 40;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138034
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
/* Oracle */

select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
               from v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 52 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           order by last_message_date desc
           limit 0, 40;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138035
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
/* iOS */

select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
               from v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 10 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           order by last_message_date desc
           limit 0, 40;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138036
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
/* PostgreSQL */

select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
               from v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 53 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           order by last_message_date desc
           limit 0, 40;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138037
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
/* RedOS */

select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
               from v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 67 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           order by last_message_date desc
           limit 0, 40;
pasted_image.png
...
Рейтинг: 0 / 0
Долгое открытие подфорумов с большим количеством тем
    #40138038
Фотография basename
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
/* Delphi */

select
           v1_topic.id, v1_topic.name, v1_topic.creation_date,
           v1_topic_statistics.last_message_date,
           v1_topic_statistics.post_count,
           v1_topic_statistics.post_count_total,
           v1_topic_statistics.hits_count,
           v1_topic_statistics.bot_hits_count,
           v1_topic.profiled_topic,
           v1_topic.deleted, v1_topic.closed, v1_topic.pinned, v1_topic.publish_delay, has_pinned_post,
           v1_forum.deleted forum_deleted,
           v1_topic.user_id, v1_topic.author, v1_topic.read_marker, v1_user.user_name,
               v1_user.last_visit_date, v1_user.logout,
           forum_id, v1_forum.name forum_name, is_poll, v1_topic.no_guests
               from v1_topic_statistics
           inner join v1_topic
            on (v1_topic.id = v1_topic_statistics.topic_id)

           inner join v1_forum on (v1_topic.forum_id = v1_forum.id)
           left join v1_user on (v1_topic.user_id = v1_user.id)
           where v1_topic.forum_id = 58 and v1_topic.deleted + v1_forum.deleted = 0
 and v1_topic.pinned + v1_topic.publish_delay = 0
           order by last_message_date desc
           limit 0, 40;
pasted_image.png
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Вопросы по форуму [игнор отключен] [закрыт для гостей] / Долгое открытие подфорумов с большим количеством тем
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (105): Анонимы (102), Yandex Bot, Bing Bot 2 мин., Google Bot 6 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]