|
|
|
Оптимизация выборки комментов от пользователя
|
|||
|---|---|---|---|
|
#18+
Есть две таблички Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Цель запроса - получить последние 10 комментов для постов определенного типа и от указанного пользователя: Код: sql 1. 2. 3. 4. 5. 6. 7. Проблема в том, что судя по explain'у запрос проходит по всем комментам указанного пользователя и только потом отфильтровывает по типу поста. Есть варианты сделать так, чтобы запрос не пробегал по всем комментам пользователя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 10:23:50 |
|
||
|
Оптимизация выборки комментов от пользователя
|
|||
|---|---|---|---|
|
#18+
Почему никто и никогда не читает FAQ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 10:33:54 |
|
||
|
Оптимизация выборки комментов от пользователя
|
|||
|---|---|---|---|
|
#18+
miZerattiсудя по explain'у запрос проходит по всем комментам указанного пользователя и только потом отфильтровывает по типу поста.А не расскажете ли, как можно увидеть ТАКОЕ из EXPLAIN? PS. Документация, кстати, говорит, что увиденное Вами в EXPLAIN не должно существовать... PPS. А ещё - для оптимизации этого запроса на таблице нет необходимого индекса. Отсюда и юзинг вхере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 10:38:12 |
|
||
|
Оптимизация выборки комментов от пользователя
|
|||
|---|---|---|---|
|
#18+
tanglirПочему никто и никогда не читает FAQ ? Возможно потому что он не очень удачно спроектирован? Я например, эту тему в факе пропустил из-за названия :) PS Спасибо за ссылку - щас буду изучать что там написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 11:06:03 |
|
||
|
Оптимизация выборки комментов от пользователя
|
|||
|---|---|---|---|
|
#18+
AkinamiZerattiсудя по explain'у запрос проходит по всем комментам указанного пользователя и только потом отфильтровывает по типу поста. ... А ещё - для оптимизации этого запроса на таблице нет необходимого индекса. Отсюда и юзинг вхере. Какой индекс необходим? (user_id, post_id)? или просто post_id? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 15:24:57 |
|
||
|
Оптимизация выборки комментов от пользователя
|
|||
|---|---|---|---|
|
#18+
miZerattiКакой индекс необходим? (user_id, post_id)? Угу. Или в обратном порядке... Да и насчёт составного индекса на post тоже можно подумать... Кстати, а какого лешего у тебя там в условии отбора по user_id забит стринг, если у тебя поле чисельного типа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 16:08:18 |
|
||
|
Оптимизация выборки комментов от пользователя
|
|||
|---|---|---|---|
|
#18+
AkinamiZerattiКакой индекс необходим? (user_id, post_id)? Угу. Или в обратном порядке... Да и насчёт составного индекса на post тоже можно подумать... Кстати, а какого лешего у тебя там в условии отбора по user_id забит стринг, если у тебя поле чисельного типа? Да, составной индекс по этим полям действительно помог добиться нужного результата. По поводу кавычек - так было в логе медленных запросов. Видимо, автоматом так подставляется (через плейсхолдеры). Насколько я понимаю, это в како-то степени будет влиять на быстродействие выполнения запроса из-за приведения типов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 16:46:35 |
|
||
|
Оптимизация выборки комментов от пользователя
|
|||
|---|---|---|---|
|
#18+
miZerattiНасколько я понимаю, это в како-то степени будет влиять на быстродействие выполнения запроса из-за приведения типов? Ну влиять, конечно, не будет (ну какая там скорость конвертации одного литерала? тьфу, и растереть), а вот читабельность и понимабельность страдает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2013, 17:52:55 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38441607&tid=1835835]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 313ms |

| 0 / 0 |
