coverdb=# explain analyze SELECT id , title, artist, music, lyrics, year FROM search_song WHERE search_title IS NOT NULL  ORDER BY search_title LIMIT 20 OFFSET 0 ;
                                                                           QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=553.15..553.20 rows=20 width=28) (actual time=2227.78..2227.80 rows=20 loops=1)
   ->  Sort  (cost=553.15..569.63 rows=6593 width=28) (actual time=2227.78..2227.78 rows=21 loops=1)
         Sort Key: search_title
         ->  Subquery Scan search_song  (cost=0.00..134.93 rows=6593 width=28) (actual time=1.09..2153.71 rows=6380 loops=1)
               ->  Seq Scan on song r  (cost=0.00..134.93 rows=6593 width=28) (actual time=1.09..2125.37 rows=6380 loops=1)
                     Filter: (title IS NOT NULL)
                     SubPlan
                       ->  Aggregate  (cost=8.10..8.10 rows=1 width=25) (actual time=0.06..0.06 rows=1 loops=6380)
                             ->  Nested Loop  (cost=0.00..8.09 rows=2 width=25) (actual time=0.03..0.03 rows=1 loops=6380)
                                   ->  Index Scan using credit_song_idx on credit c  (cost=0.00..3.08 rows=2 width=4) (actual time=0.01..0.01 rows=1 loops=6380)
                                         Index Cond: (song_id = $0)
                                         Filter: (type_id = 0)
                                   ->  Index Scan using artist_pkey on artist a  (cost=0.00..3.02 rows=1 width=21) (actual time=0.01..0.01 rows=1 loops=6341)
                                         Index Cond: ("outer".artist_id = a.id)
                       ->  Aggregate  (cost=8.10..8.10 rows=1 width=25) (actual time=0.05..0.05 rows=1 loops=6380)
                             ->  Nested Loop  (cost=0.00..8.09 rows=2 width=25) (actual time=0.03..0.03 rows=1 loops=6380)
                                   ->  Index Scan using credit_song_idx on credit c  (cost=0.00..3.08 rows=2 width=4) (actual time=0.01..0.01 rows=1 loops=6380)
                                         Index Cond: (song_id = $0)
                                         Filter: (type_id = 0)
                                   ->  Index Scan using artist_pkey on artist a  (cost=0.00..3.02 rows=1 width=21) (actual time=0.01..0.01 rows=1 loops=6341)
                                         Index Cond: ("outer".artist_id = a.id)
                       ->  Aggregate  (cost=6.62..6.62 rows=1 width=25) (actual time=0.05..0.05 rows=1 loops=6380)
                             ->  Nested Loop  (cost=0.00..6.62 rows=1 width=25) (actual time=0.02..0.03 rows=1 loops=6380)
                                   ->  Index Scan using credit_song_idx on credit c  (cost=0.00..3.08 rows=1 width=4) (actual time=0.02..0.02 rows=1 loops=6380)
                                         Index Cond: (song_id = $0)
                                         Filter: (type_id = 1)
                                   ->  Index Scan using artist_pkey on artist a  (cost=0.00..3.02 rows=1 width=21) (actual time=0.01..0.01 rows=1 loops=4497)
                                         Index Cond: ("outer".artist_id = a.id)
                       ->  Aggregate  (cost=6.62..6.62 rows=1 width=25) (actual time=0.04..0.04 rows=1 loops=6380)
                             ->  Nested Loop  (cost=0.00..6.62 rows=1 width=25) (actual time=0.02..0.03 rows=1 loops=6380)
                                   ->  Index Scan using credit_song_idx on credit c  (cost=0.00..3.08 rows=1 width=4) (actual time=0.01..0.02 rows=1 loops=6380)
                                         Index Cond: (song_id = $0)
                                         Filter: (type_id = 1)
                                   ->  Index Scan using artist_pkey on artist a  (cost=0.00..3.02 rows=1 width=21) (actual time=0.01..0.01 rows=1 loops=4497)
                                         Index Cond: ("outer".artist_id = a.id)
                       ->  Aggregate  (cost=6.76..6.76 rows=1 width=25) (actual time=0.05..0.05 rows=1 loops=6380)
                             ->  Nested Loop  (cost=0.00..6.76 rows=1 width=25) (actual time=0.01..0.02 rows=1 loops=6380)
                                   ->  Index Scan using credit_song_idx on credit c  (cost=0.00..3.08 rows=1 width=4) (actual time=0.01..0.01 rows=1 loops=6380)
                                         Index Cond: (song_id = $0)
                                         Filter: (type_id = 2)
                                   ->  Index Scan using artist_pkey on artist a  (cost=0.00..3.02 rows=1 width=21) (actual time=0.01..0.01 rows=1 loops=4463)
                                         Index Cond: ("outer".artist_id = a.id)
                       ->  Aggregate  (cost=6.76..6.76 rows=1 width=25) (actual time=0.04..0.04 rows=1 loops=6380)
                             ->  Nested Loop  (cost=0.00..6.76 rows=1 width=25) (actual time=0.01..0.02 rows=1 loops=6380)
                                   ->  Index Scan using credit_song_idx on credit c  (cost=0.00..3.08 rows=1 width=4) (actual time=0.01..0.01 rows=1 loops=6380)
                                         Index Cond: (song_id = $0)
                                         Filter: (type_id = 2)
                                   ->  Index Scan using artist_pkey on artist a  (cost=0.00..3.02 rows=1 width=21) (actual time=0.01..0.01 rows=1 loops=4463)
                                         Index Cond: ("outer".artist_id = a.id)
 Total runtime: 2229.73 msec
(50 rows)
