Postgresql version 9.0 和之前版本的一個BUG

來源:互聯網
上載者:User

    最近,由於效能的問題把一些大資料量的表改為分區表(partition table)。在postgresql下這個過程也是很艱難的,參見我的另一篇文章。

    本來這是一件利國利民的好事,誰料居然發生了沒有料想到的事情。幾天后有人發現對某個分區表的一個查詢特別的慢。查看後探索資料量大概為500w-600w查詢時間居然需要12s-13s。 這個不正常,分析後發現該sql中單單一個 select max(time_stamp) from **table; 的語句基本就耗費了11-12s。吼吼,這就更不正常了。查看查詢分析的結果發現在所有分區的查詢都是全表掃描(full
table scan)。這不應該啊,因為欄位time_stamp是聯合主鍵之一啊怎麼也應該是索引掃描啊(index scan),看來這就是查詢效能低下的原因了。略過長時間的分析,未果。沒轍了只好去postgrsql的maillist找答案,唉,果然給找到了,我擦。http://archives.postgresql.org/pgsql-performance/2011-02/msg00234.php

    原來這是postgrsql的一個bug,存在於9.0**和之前的版本中,我們正好使用的是9.0版本。唉。速度下載version9.1並實驗同一個sql。耗時4-5ms,查看查詢分析,都是索引掃描。
    總結:使用不成熟的產品需謹慎啊,好在9.1.*已經在今年4月份release了,我們可以通過升級版本解決這個問題,要是沒有release我們怎麼辦呢?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.