|
|
|
возможно ли описать через join ?
|
|||
|---|---|---|---|
|
#18+
есть таблица А и Б связаны между собой по одноименному полю a.a=b.a возможно ли сделать такой селект Код: sql 1. 2. или Код: sql 1. 2. чтобы из таблицы А брались все значения, если таблица Б пустая, либо из Таблицы А брались только те значения как при inner join но без использования union ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 10:58 |
|
||
|
возможно ли описать через join ?
|
|||
|---|---|---|---|
|
#18+
Legushka, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ?Ы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 11:13 |
|
||
|
возможно ли описать через join ?
|
|||
|---|---|---|---|
|
#18+
1) qwwq, дело в том что таблица А весит пару десятков гигов и если джоинить к А таблицу Б то получается что мы всеравно перебираем много вариантов из А и потом отсекаем от А все что дает/недает нам Б 2) есть возможность переписать этот же запрос так что бы не к А джоинили Б а наобборот сперва Б а потом к нему А ? 3) или я в первом утверждении ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 11:23 |
|
||
|
возможно ли описать через join ?
|
|||
|---|---|---|---|
|
#18+
Legushka, предыдущий ответ отвечает на ваш изначальный вопрос. на ваш следующий вопрос исчерпывающе отвечает сакраментальное: "а поцчему ви спгашиваити?" с последующим разоблачением, что вы не то и не так решаете, и вообще занимаетесь не своим делом. оно вам надо ? таки если всё ещё надо -- сформулируйте задачу не с того конца, где вам кажется светлее, а так, как она изначально стоит -- и, возможно, кто--то подскажет реально хорошее решение. Ибо кроме как загнать проверку наличия записей в b в IMMUTABLE и именно IMMUTALBE ф-ю -- т.е. заведомо попасться при наличии конкурентов -- я не вижу способа набмануть оптимайзер в вашейтекущей постановке. Если за наполнение b отвечает только ваш процесс, -- то подход допустимый. Если не только -- то нет. в случае, если мн-во b --параметр, то вместо table b возможно удобнее взять ARRAY[row()::b,...] -- так как если array известен на входе то и array_length и уже иммутабна, и м.б. исчислена оптимайзером при составлении плана. (т.е. при непустоте оптимайзер выяснит, что задача сводится к INNER JOIN, и для маленькой b стартует от неё) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 11:46 |
|
||
|
возможно ли описать через join ?
|
|||
|---|---|---|---|
|
#18+
Legushkaесть таблица А и Б связаны между собой по одноименному полю a.a=b.a возможно ли сделать такой селект Код: sql 1. 2. или Код: sql 1. 2. чтобы из таблицы А брались все значения, если таблица Б пустая, либо из Таблицы А брались только те значения как при inner join но без использования union ? Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 17:56 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39152096&tid=1997502]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 494ms |

| 0 / 0 |
