powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация выборки комментов от пользователя
8 сообщений из 8, страница 1 из 1
Оптимизация выборки комментов от пользователя
    #38440820
miZeratti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблички
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create table post (
    id int not null auto_increment primary key,
    type int not null default 0
)

create table comment (
      id int not null auto_increment primary key,
      post_id int not null,
      user_id int not null,
      KEY i_user_id (user_id)
)



Цель запроса - получить последние 10 комментов для постов определенного типа и от указанного пользователя:
Код: sql
1.
2.
3.
4.
5.
6.
7.
select *
from post p
join comment с on c.post_id = p.id
where c.user_id = "123"
and p.type = 0
order by cm.id desc
limit 10



Проблема в том, что судя по explain'у запрос проходит по всем комментам указанного пользователя и только потом отфильтровывает по типу поста.

Есть варианты сделать так, чтобы запрос не пробегал по всем комментам пользователя?
...
Рейтинг: 0 / 0
Оптимизация выборки комментов от пользователя
    #38440842
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему никто и никогда не читает FAQ ?
...
Рейтинг: 0 / 0
Оптимизация выборки комментов от пользователя
    #38440850
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miZerattiсудя по explain'у запрос проходит по всем комментам указанного пользователя и только потом отфильтровывает по типу поста.А не расскажете ли, как можно увидеть ТАКОЕ из EXPLAIN?

PS. Документация, кстати, говорит, что увиденное Вами в EXPLAIN не должно существовать...

PPS. А ещё - для оптимизации этого запроса на таблице нет необходимого индекса. Отсюда и юзинг вхере.
...
Рейтинг: 0 / 0
Оптимизация выборки комментов от пользователя
    #38440900
miZeratti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirПочему никто и никогда не читает FAQ ?

Возможно потому что он не очень удачно спроектирован?
Я например, эту тему в факе пропустил из-за названия :)

PS Спасибо за ссылку - щас буду изучать что там написано.
...
Рейтинг: 0 / 0
Оптимизация выборки комментов от пользователя
    #38441439
miZeratti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinamiZerattiсудя по explain'у запрос проходит по всем комментам указанного пользователя и только потом отфильтровывает по типу поста.
...
А ещё - для оптимизации этого запроса на таблице нет необходимого индекса. Отсюда и юзинг вхере.

Какой индекс необходим?
(user_id, post_id)? или просто post_id?
...
Рейтинг: 0 / 0
Оптимизация выборки комментов от пользователя
    #38441534
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miZerattiКакой индекс необходим?
(user_id, post_id)?
Угу. Или в обратном порядке... Да и насчёт составного индекса на post тоже можно подумать...

Кстати, а какого лешего у тебя там в условии отбора по user_id забит стринг, если у тебя поле чисельного типа?
...
Рейтинг: 0 / 0
Оптимизация выборки комментов от пользователя
    #38441607
miZeratti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinamiZerattiКакой индекс необходим?
(user_id, post_id)?
Угу. Или в обратном порядке... Да и насчёт составного индекса на post тоже можно подумать...

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

Да, составной индекс по этим полям действительно помог добиться нужного результата.

По поводу кавычек - так было в логе медленных запросов. Видимо, автоматом так подставляется (через плейсхолдеры). Насколько я понимаю, это в како-то степени будет влиять на быстродействие выполнения запроса из-за приведения типов?
...
Рейтинг: 0 / 0
Оптимизация выборки комментов от пользователя
    #38441737
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miZerattiНасколько я понимаю, это в како-то степени будет влиять на быстродействие выполнения запроса из-за приведения типов?
Ну влиять, конечно, не будет (ну какая там скорость конвертации одного литерала? тьфу, и растереть), а вот читабельность и понимабельность страдает.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация выборки комментов от пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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