How to improve the performance of my SQL query?

Поиск
Список
Период
Сортировка

Hi everyone,


I'm running into some performance issues with my SQL query.

The following SQL query is taking a long time to execute.


explain analyze

select COUNT(ET_CD)

from TBL_SHA

WHERE TBL_SHA.MS_CD = '009'

and TBL_SHA.ETRYS in

   (select TBL_INF.RY_CD

    from TBL_INF

    WHERE TBL_INF.MS_CD = '009'

   AND TBL_INF.RY_CD = '000001'

   )

----- Execution Plan -----

Limit  (cost=2738709.57..2738709.58 rows=1 width=8) (actual time=124168.769..124168.771 rows=1 loops=1)

  ->  Aggregate  (cost=2738709.57..2738709.58 rows=1 width=8) (actual time=124168.767..124168.769 rows=1 loops=1)

        ->  Nested Loop  (cost=0.29..2730702.63 rows=3202774 width=9) (actual time=97264.166..123920.769 rows=3200000 loops=1)

              ->  Index Only Scan using TBL_INF_pkc on TBL_INF  (cost=0.29..8.31 rows=1 width=9) (actual time=0.025..0.030 rows=1 loops=1)

                    Index Cond: ((MS_CD = '009'::bpchar) AND (RY_CD = '000001'::bpchar))

                    Heap Fetches: 1

              ->  Seq Scan on TBL_SHA  (cost=0.00..2698666.58 rows=3202774 width=18) (actual time=97264.138..123554.792 rows=3200000 loops=1)

                    Filter: ((MS_CD = '009'::bpchar) AND (ETRYS = '000001'::bpchar))

                    Rows Removed by Filter: 32000325

Planning Time: 0.162 ms

Execution Time: 124168.838 ms

--------------------------------------------------------------------------------


The index is defined as follows.


CREATE INDEX index_search_01 ON mdb.TBL_SHA USING btree (MS_CD, ETRYS);



When I take the following sql statement, the index works fine and the query is fast.


select COUNT(ET_CD)

from TBL_SHA

WHERE MS_CD = '009'

AND ETRYS = '000001'


The amount of data in the table is as follows.

TBL_SHA    38700325

TBL_INF    35546


Any suggestions for improving the performance of the query would be greatly appreciated.


Thanks in advance!

В списке pgsql-general по дате отправления:

Предыдущее
От: Alban Hertroys
Дата:
Сообщение: Re: Nu-B here
Следующее
От: Bogdan Siara
Дата:
Сообщение: Re: Postgrsql blocked for more than 120 s