Thank you for your reply.
tshow=> explain (analyze, buffers)  select count(t.*)  from 
tshow.res_room_weight t,tshow.res_room_info r 
tshow->   where t.subcatlg_id=46 
tshow->   and t.roomid = r.actorid
tshow->   and r.levels>=0;
                                                               QUERY PLAN       
                                                        
----------------------------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=24581.57..24581.58 rows=1 width=60) (actual 
time=112.613..112.613 rows=1 loops=1)
   Buffers: shared hit=23439
   ->  Hash Join  (cost=1737.31..24572.21 rows=3744 width=60) (actual 
time=16.375..111.879 rows=3730 loops=1)
         Hash Cond: (r.actorid = t.roomid)
         Buffers: shared hit=23439
         ->  Seq Scan on res_room_info r  (cost=0.00..22322.20 rows=22365 
width=4) (actual time=0.031..86.026 rows=22365 loops=1)
               Filter: (levels >= 0)
               Rows Removed by Filter: 291
               Buffers: shared hit=22039
         ->  Hash  (cost=1689.90..1689.90 rows=3793 width=64) (actual 
time=16.274..16.274 rows=3793 loops=1)
               Buckets: 1024  Batches: 1  Memory Usage: 329kB
               Buffers: shared hit=1397
               ->  Seq Scan on res_room_weight t  (cost=0.00..1689.90 rows=3793 
width=64) (actual time=0.348..14.663 rows=3793 loops=1)
                     Filter: (subcatlg_id = 46)
                     Rows Removed by Filter: 19641
                     Buffers: shared hit=1397
 Total runtime: 112.754 ms

cost only  112.754 ms . the High load time log is :

2015-10-28 00:00:17.177 CST "SELECT",2015-10-23 19:30:20 
CST,276/59546142,0,LOG,00000,"duration: 3300.237 ms  execute <unnamed>:         
        SELECT          o_count                 FROM            
tshow.p_hpart_getcount_intitle($1)","parameters: $1 = '46'",,,,,,,,""


657985...@qq.com
 
发件人: Jeff Janes
发送时间: 2015-10-28 03:33
收件人: 657985...@qq.com
抄送: pgsql-general
主题: Re: [GENERAL] 回复: postgres cpu 100% need help
On Mon, Oct 26, 2015 at 8:30 PM, 657985...@qq.com <657985...@qq.com> wrote:
Dear sir:
         Recently a wired question about postgresql database really bothered me 
a lot, so i really need your help. Here is the problem, in the most situations 
the postgre database work very well,  Average 3500tps/s per day, the cpu usage 
of its process is 3%~10% and every query can be responsed in less than 20ms, 
but sometimes the cpu usages of its process can suddenly grow up to 90%+ , at 
that time a simple query can cost  2000+ms. ps: My postgresql version is 9.3.5 
and the database is oltp  server.

From all the lseeks on the same file, it looks like you are doing a sequential 
scan on a table for the inside of a nested loop.  What is the query it is 
running, and what is the execution plan for it?  To get that, run:

explain (analyze, buffers) select o_count from ....

Cheers,

Jeff

Reply via email to