Search Postgresql Archives

Re: Slow running query with views...how to increase efficiency? with index?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I copy the results derived by istruction "EXPLAIN ANALYZE" for the two
query...

----------------------Query without views-------------------------
"Unique  (cost=406.58..407.13 rows=73 width=114) (actual time=1.262..1.448
rows=40 loops=1)"
"  ->  Sort  (cost=406.58..406.77 rows=73 width=114) (actual
time=1.257..1.313 rows=40 loops=1)"
"        Sort Key: table_0.term1, table_1.term2"
"        Sort Method:  quicksort  Memory: 23kB"
"        ->  Append  (cost=302.63..404.32 rows=73 width=114) (actual
time=0.747..1.147 rows=40 loops=1)"
"              ->  Unique  (cost=302.63..302.99 rows=49 width=114) (actual
time=0.742..0.933 rows=40 loops=1)"
"                    ->  Sort  (cost=302.63..302.75 rows=49 width=114)
(actual time=0.737..0.795 rows=40 loops=1)"
"                          Sort Key: table_0.term1, table_1.term2"
"                          Sort Method:  quicksort  Memory: 23kB"
"                          ->  Nested Loop  (cost=0.00..301.25 rows=49
width=114) (actual time=0.088..0.477 rows=40 loops=1)"
"                                ->  Index Scan using TO_index1 on TO
table_1  (cost=0.00..15.81 rows=3 width=52) (actual time=0.046..0.050 rows=2
loops=1)"
"                                      Index Cond: ((term1)::text =
'c'::text)"
"                                ->  Index Scan using TC_index2 on TC
table_0  (cost=0.00..94.85 rows=24 width=111) (actual time=0.095..0.144
rows=20 loops=2)"
"                                      Index Cond: ((table_0.term2)::text =
(table_1.term2)::text)"
"              ->  Unique  (cost=100.42..100.60 rows=24 width=110) (actual
time=0.095..0.095 rows=0 loops=1)"
"                    ->  Sort  (cost=100.42..100.48 rows=24 width=110)
(actual time=0.091..0.091 rows=0 loops=1)"
"                          Sort Key: table_0.term1, table_1.term1"
"                          Sort Method:  quicksort  Memory: 17kB"
"                          ->  Nested Loop  (cost=0.00..99.87 rows=24
width=110) (actual time=0.060..0.060 rows=0 loops=1)"
"                                ->  Seq Scan on TB table_1 
(cost=0.00..4.72 rows=1 width=48) (actual time=0.054..0.054 rows=0 loops=1)"
"                                      Filter: ((term2)::text = 'c'::text)"
"                                ->  Index Scan using TC_index2 on TC
table_0  (cost=0.00..94.85 rows=24 width=111) (never executed)"
"                                      Index Cond: ((table_0.term2)::text =
(table_1.term1)::text)"
"Total runtime: 1.641 ms"


----------------------Query with views-------------------------
"  ->  Sort  (cost=40863.02..40865.50 rows=994 width=436) (actual
time=5142.974..5143.026 rows=40 loops=1)"
"        Sort Key: TC.term1, v2TO.term2"
"        Sort Method:  quicksort  Memory: 23kB"
"        ->  Hash Join  (cost=38857.33..40813.53 rows=994 width=436) (actual
time=3547.557..5142.853 rows=40 loops=1)"
"              Hash Cond: ((TC.term2)::text = (v2TO.term2)::text)"
"              ->  Unique  (cost=38837.21..40099.83 rows=49719 width=111)
(actual time=3546.697..4869.647 rows=168340 loops=1)"
"                    ->  Sort  (cost=38837.21..39258.08 rows=168350
width=111) (actual time=3546.691..4363.092 rows=168350 loops=1)"
"                          Sort Key: TC.term1, TC.term2"
"                          Sort Method:  external merge  Disk: 21032kB"
"                          ->  Seq Scan on TC  (cost=0.00..4658.50
rows=168350 width=111) (actual time=0.010..294.459 rows=168350 loops=1)"
"              ->  Hash  (cost=20.07..20.07 rows=4 width=218) (actual
time=0.219..0.219 rows=2 loops=1)"
"                    ->  Subquery Scan v2TO  (cost=20.00..20.07 rows=4
width=218) (actual time=0.192..0.207 rows=2 loops=1)"
"                          ->  Unique  (cost=20.00..20.03 rows=4 width=108)
(actual time=0.186..0.195 rows=2 loops=1)"
"                                ->  Sort  (cost=20.00..20.01 rows=4
width=108) (actual time=0.182..0.185 rows=2 loops=1)"
"                                      Sort Key: TO.term1, TO.term2"
"                                      Sort Method:  quicksort  Memory:
17kB"
"                                      ->  Append  (cost=15.17..19.96 rows=4
width=108) (actual time=0.094..0.169 rows=2 loops=1)"
"                                            ->  Unique  (cost=15.17..15.19
rows=3 width=108) (actual time=0.090..0.100 rows=2 loops=1)"
"                                                  ->  Sort 
(cost=15.17..15.18 rows=3 width=108) (actual time=0.086..0.088 rows=2
loops=1)"
"                                                        Sort Key: TO.term2"
"                                                        Sort Method: 
quicksort  Memory: 17kB"
"                                                        ->  Bitmap Heap
Scan on TO  (cost=4.28..15.15 rows=3 width=108) (actual time=0.064..0.067
rows=2 loops=1)"
"                                                              Recheck Cond:
((term1)::text = 'c'::text)"
"                                                              ->  Bitmap
Index Scan on TO_index1  (cost=0.00..4.28 rows=3 width=0) (actual
time=0.052..0.052 rows=2 loops=1)"
"                                                                    Index
Cond: ((term1)::text = 'c'::text)"
"                                            ->  Seq Scan on TB 
(cost=0.00..4.72 rows=1 width=104) (actual time=0.056..0.056 rows=0
loops=1)"
"                                                  Filter: ((term2)::text =
'c'::text)"
"Total runtime: 5147.410 ms"
-- 
View this message in context: http://www.nabble.com/Slow-running-query-with-views...how-to-increase-efficiency--with-index--tp26086104p26094976.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux