|
как оптимизировать запрос с двумя union?
|
|||
---|---|---|---|
#18+
Запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Вопрос: можно ли оптимизировать этот запрос так, чтобы сначала делалась выборка (назову её [предселект]) Код: plaintext 1. 2. 3.
А потом её результат использовался бы во всех остальных 3х селектах? Или нужно три раза этот [предселект] вставлять в каждый select в основном запросе? Нельзя ли перед запросом сделать какой-нибудь массив(?), из которого потом будут браться значения yu.id для других запросов, чтобы база не лопатила три раза одно и то же? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2004, 01:06 |
|
как оптимизировать запрос с двумя union?
|
|||
---|---|---|---|
#18+
with table_name as...? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2004, 08:07 |
|
как оптимизировать запрос с двумя union?
|
|||
---|---|---|---|
#18+
Кстати, union (вместо union all) в этом запросе выглядит... очень странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2004, 11:22 |
|
как оптимизировать запрос с двумя union?
|
|||
---|---|---|---|
#18+
А nullif(1,1), надо полагать, это замена cast(null as integer) или cast(null as shortint). Надо же, мне и в голову такое не приходило. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2004, 11:34 |
|
|
start [/forum/topic.php?fid=43&gotonew=1&tid=1606166]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 277ms |
total: | 418ms |
0 / 0 |