|
|
|
Выбор с 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть две таблицы t1 : productID, categoryID, * и t2 : productID, categoryID, sort_order. В этой таблице идет связь один ко многим, т.е. t1.productID может быть сколько угоднов t2.productID и запрос Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. как можно добавить сюда t2 и отсортировать по sort_order? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2014, 16:34:18 |
|
||
|
Выбор с 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Вижу с использованием left join, только если в условии указать on t1.productID = t2.productID, то результат строк уменьшается в N раз. Как-то с условием намудрить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2014, 16:37:11 |
|
||
|
Выбор с 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Freeman21как можно добавить сюда t2 и отсортировать по sort_order?Не совсем ясно что нужно получить в результате, но в общем случае, с помощью inner (outer) join решается вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2014, 17:10:32 |
|
||
|
Выбор с 2х таблиц
|
|||
|---|---|---|---|
|
#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. как-то так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2014, 17:12:58 |
|
||
|
Выбор с 2х таблиц
|
|||
|---|---|---|---|
|
#18+
oaken, Спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2014, 13:40:07 |
|
||
|
Выбор с 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Если убрать limit 10, то выполнение скрипта составляет ~160 с. Можно как-то уменьшить этот показатель хотя бы в 50 раз? EXPLAIN запроса показал: id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE p index_merge PRIMARY;IDX_PRODUCTS1 PRIMARYIDX_PRODUCTS1 4;5 \N 265 Using union(PRIMARY;IDX_PRODUCTS1); Using where; Using temporary; Using filesort1 SIMPLE p2 ref PRIMARY PRIMARY 4 cron4.p.productID 1 Using index ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2014, 13:48:54 |
|
||
|
Выбор с 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Freeman21, like убрать вообще или сделать хотя бы '4051%' - тогда будет использоваться индекс по этому полю. Нельзя убрать - сделать эту выборку до этого запроса, сохранить id во временную таблицу, сделать по id индекс - в запросе сделать с ней джойн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2014, 14:56:03 |
|
||
|
Выбор с 2х таблиц
|
|||
|---|---|---|---|
|
#18+
Users, ой, like, то частный случай... Его в запросе нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2014, 16:12:07 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1834426]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
289ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 576ms |

| 0 / 0 |
