powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вот он мой Nested Loop %)
1 сообщений из 1, страница 1 из 1
Вот он мой Nested Loop %)
    #33259634
Paul Chabinsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посвящяется тем кто привык запросы тестировать ТОЛЬКО на РЕАЛЬНЫХ объемах данных.
Код: plaintext
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
/*
...
Структара такая же как в начале предыдущего моего топика.
Строчек мало.
...
*/

select * from test.table1

 1 ; 10 
 2 ; 20 
 3 ; 30 
 4 ; 40 

select * from test.table2

 1 ; 1 ; 100 
 2 ; 1 ; 200 
 3 ; 1 ; 300 
 4 ; 2 ; 400 
 5 ; 2 ; 500 
 6 ; 2 ; 600 
 7 ; 4 ; 700 


select t2_id, t2_val from
       test.table2 inner join test.table1
              on t2_t1_id = t1_id
where t1_id =  2 ;

"Nested Loop  (cost=0.00..6.92 rows=1 width=8)"
"  ->  Seq Scan on table2  (cost=0.00..1.09 rows=1 width=12)"
"        Filter: (2 = t2_t1_id)"
"  ->  Index Scan using table1_pkey on table1  (cost=0.00..5.82 rows=1 width=4)"
"        Index Cond: (t1_id = 2)"

select t2_id, t2_val from
       test.table2 inner join test.table1
              on t2_t1_id = t1_id
where t1_id >  2  /* and t2_t1_id > 2 */;

"Hash Join  (cost=1.09..38.60 rows=3 width=8)"
"  Hash Cond: ("outer".t1_id = "inner".t2_t1_id)"
"  ->  Seq Scan on table1  (cost=0.00..34.25 rows=647 width=4)"
"        Filter: (t1_id > 2)"
"  ->  Hash  (cost=1.07..1.07 rows=7 width=12)"
"        ->  Seq Scan on table2  (cost=0.00..1.07 rows=7 width=12)"

select t2_id, t2_val from
       test.table2 inner join test.table1
              on t2_t1_id = t1_id
where t1_id >  2  and t2_t1_id >  2 ;

"Nested Loop  (cost=0.00..18.61 rows=2 width=8)"
"  ->  Seq Scan on table2  (cost=0.00..1.09 rows=3 width=12)"
"        Filter: (t2_t1_id > 2)"
"  ->  Index Scan using table1_pkey on table1  (cost=0.00..5.83 rows=1 width=4)"
"        Index Cond: ((table1.t1_id > 2) AND ("outer".t2_t1_id = table1.t1_id))"


Вот пропажа и нашлась.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вот он мой Nested Loop %)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]