|
Прошу пояснения с JOIN и под запросом
|
|||
---|---|---|---|
#18+
Добрый день уважаемые! Прошу объяснить почему дублируются строки выборки, Есть 2 огромных таблицы c логами (2-5 млн записей) при выполнении Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Результат логичный, 10 строк |4.66 | 192.168.1.222 | |1.97 | 176.222.187.33 | |1.78 | 95.68.XXX.XXX | |1.6 | 2.94.187.46 | |1.29 | 46.188.45.42 | |0.99 | 10.110.X.X | |0.88 | 1XX.235.1X.XX | |0.86 | 17x.222.1XX.XX | |0.81 | 176.222.1XX.XX| |0.79 | 176.222.1XX.XX | Однако при добавления LEFT JOIN данные удваиваются Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
4.66 | 192.168.1.222/32 | 192.168.0.0/16 | - 2.16 | 176.XXX.XXX.33/32 | 176.XXX.XXX.0/19 | KZ 2.16 | 176.XXX.XXX.33/32 | 176.XXX.XXX.0/21 | KZ 1.78 | 95.68.71.107/32 | 95.68.68.0/22 | LV 1.6 | 2.94.XXX.46/32 | 0.0.0.0/3 | US 1.6 | 2.94.XXX.46/32 | 2.94.XXX.0/24 | RU 1.29 | 46.XXX.45.42/32 | 46.XXX.44.0/23 | RU 1.29 | 46.XXX.45.42/32 | 46.XXX.32.0/19 | RU 1.29 | 46.XXX.45.42/32 | 46.XXX.0.0/17 | RU 1.04 | 10.110.4.5/32 | 10.0.0.0/8 | - 1.04 | 10.110.4.5/32 | 0.0.0.0/3 | US 0.88 | XXX.235.12.194/32 | XXX.0.0.0/8 | RU 0.88 | XXX.235.12.194/32 | XXX.235.0.0/20 | RU 0.88 | XXX.235.12.194/32 | XXX.235.12.0/23 | RU 0.88 | XXX.235.12.194/32 | XXX.235.0.0/16 | RU 0.86 | 176.XXX.XXX.142/32 | 176.XXX.XXX.0/24 | KZ 0.86 | 176.XXX.XXX.142/32 | 176.XXX.XXX.0/19 | KZ 0.86 | 176.XXX.XXX.17/32 | 176.XXX.XXX.0/24 | KZ 0.86 | 176.XXX.XXX.17/32 | 176.XXX.XXX.0/19 | KZ 0.79 | 176.XXX.XXX.19/32 | 176.XXX.XXX.0/24 | KZ 0.79 | 176.XXX.XXX.19/32 | 176.XXX.XXX.0/19 | KZ ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2018, 13:02 |
|
Прошу пояснения с JOIN и под запросом
|
|||
---|---|---|---|
#18+
davefree, А почему не должны если попадается больше одного Range подходящего? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru [/quot] ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2018, 14:48 |
|
Прошу пояснения с JOIN и под запросом
|
|||
---|---|---|---|
#18+
Maxim Boguk, решил простым способом + получил прирост к скорости, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2018, 15:19 |
|
Прошу пояснения с JOIN и под запросом
|
|||
---|---|---|---|
#18+
davefree, Это если есть гарантия что у совпадающих ranges одна страна (на самом деле оно не так даже насколько я понимаю) и надо самый узкий range смотреть а не первый попавшийся. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru [/quot] ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2018, 17:55 |
|
|
start [/forum/topic.php?fid=53&msg=39716186&tid=1995554]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 144ms |
0 / 0 |