|
|
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
Добрый день. Можно оптимизировать данный запрос? Цель запроса - сделать выборки 5 случайных товаров с определенными характеристиками. 5 запросов объединенных union и distinct в начале каждого. Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2013, 11:45:19 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
АРАКУЛЦель запроса - сделать выборки 5 случайных товаров с определенными характеристиками. Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2013, 12:25:53 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
Akina, А разве это будет работать быстрее? И почему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2013, 14:41:04 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
AkinaАРАКУЛЦель запроса - сделать выборки 5 случайных товаров с определенными характеристиками. Код: sql 1. 2. 3. 4. 5. Выделенное означает: 1. для каждой строки таблицы посчитать значение RAND() 2. отсортировать таблицу по полученному значению 3. взять 5 первых строк из полученного Не уверен, в какой момент будет задействован DISTINCT В общем-то не очень быстрая процедура... :) Если исправить исходный запрос так, чтобы можно было убрать DISTINCT (там cross join category_ad), а UNION заменить на UNION ALL - вроде бы должно получиться побыстрее :) А вообще-то можно и как-то так: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2013, 14:50:59 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1836206]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 299ms |

| 0 / 0 |
