|
|
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
Вроде как красиво через partition join делалось, но не вспомню как. Есть два набора. Надо из первого набора вывести все записи, если во втором наборе нет данных или сджойнить его по id со вторым набором, если во втором есть данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 00:21 |
|
||
|
Переписать запрос
|
|||
|---|---|---|---|
|
#18+
PartitionOuterJoinВроде как красиво через partition join делалось, но не вспомню как. Есть два набора. Надо из первого набора вывести все записи, если во втором наборе нет данных или сджойнить его по id со вторым набором, если во втором есть данные.Соединяя так или иначе надо знать сколько строк в t2. Цель сделать красиво меньше букв или эффективно? Если первое - можно играться с латералами. Первый случай merge join, второй - NL. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Если второе - union all. Будет HJ или full scan в зависимости от. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 02:34 |
|
||
|
|

start [/forum/topic.php?fid=52&tid=1885093]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
187ms |
get topic data: |
11ms |
get forum data: |
4ms |
get page messages: |
52ms |
get tp. blocked users: |
3ms |
| others: | 241ms |
| total: | 534ms |

| 0 / 0 |
