|
|
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Подскажите каким образом можно оптимизировать данный SQL запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. В данный момент он выполняется 3-5 секунд, в таблице categories - 500 записей, в gals_category - 1.8 млн., в categories_names - 400тыс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 13:26:28 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Makaveli0007, а explain мы сами должны написать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 13:28:45 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
А подзапрос тут нафига? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 13:51:31 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Мне нужно получить количество галлерей в категории, для этого делается подзапрос. EXPLAIN: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ответ: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 14:01:47 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Makaveli0007для этого делается подзапросДля этого не нужен подзапрос. перенесите таблицу в секцию FROM, введите нужную группировку, и вместо абстрактных звёздочек укажите конкретные поля. И всё полетит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 14:20:18 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Непонимаю, каким образом можно перенести в from данный подзапрос. Подскажите пожалуйста, заранее благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 14:25:59 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
DEPENDENT SUBQUERY выполняется на каждую строчку основного запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 14:46:51 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
ScareCrowDEPENDENT SUBQUERY выполняется на каждую строчку основного запроса. Я понимаю, но другого решения я незнаю, Akin подсказала, но я незнаю как составить такой SQL запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 14:57:08 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Структура таблиц: Код: 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 15:02:51 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Makaveli0007но я незнаю как составить такой SQL запросСоставить-то нехитро: Код: sql 1. 2. 3. 4. 5. 6. 7. Но вот даст ли это ускорение - не факт, зависит от статистики данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 15:54:08 |
|
||
|
Оптимизация SQL запроса
|
|||
|---|---|---|---|
|
#18+
Я немного разверну запрос из EXPLAIN Код: 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. 26. 27. 28. 29. Вот... а теперь смотрим. Ты берёшь вполне конкретную груду полей из соединения таблиц categories и categories_name. Потом для каждой c.`category_id` в коррелированном запросе считаешь количество связанных записей в gals_category... теперь осталось понять, в каком отношении находятся таблицы categories и categories_name - из DDL этого не видно. Названия наводят на мысль, что с учётом cn.`lang_id`=1 мы имеем 1:1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 16:32:10 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38509991&tid=1835500]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 183ms |
| total: | 260ms |

| 0 / 0 |
