PostgreSQL bind <unnamed>: slow SQL case recor
最近某库经常有SQL非常慢。经过检查都是走索引的SQL,直接在PSQL执行时是正常的速度。 SQL如下: parameters: $1 = '127385207' 情况分析: 1. 出现这种慢SQL的时候服务器LOAD非常高。看起来就像HANG住了。 2. 这种SQL的出现都是在同一个时刻大批量出现,一般一次有几十条,每次出现的时间点不能确定。 3. 同一批出现的是同一个表。 4. 不同批出现的有多个表。 5. 出现这类慢SQL的时候数据库的IO等待在正常水平。 从情况上来看,引起慢的原因可能是表被加锁了。 另外,当手工给数据库做CHECKPOINT时有时也会引发这个问题。 最后与开放人员沟通后,发现这些表上都有6个以上的索引,去掉这些索引后,慢的情况好了很多。几乎不再发生。 可能原因分析: 1. 查询时,表相关的索引更新,导致表相关PAGE或全表被加锁了,索引越多,加锁概率越高。 监控手段: 加入锁监控,以便详细分析。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |