posts - 8,  comments - 174,  trackbacks - 0

          PostgreSQL提供了一些幫助提升性能的功能。主要有一些幾個方面。

          1.使用EXPLAIN
          EXPLAIN命令可以查看執行計劃,在前面的blog中已經介紹過。這個方法是我們最主要的調試工具。

          2.及時更新執行計劃中使用的統計信息
          由于統計 信息不是每次操作數據 庫 都 進 行更新的,一般是在 VACUUM 、 ANALYZE 、 CREATE INDEX等DDL執行的時候會更新統計信息,
          因此執 行 計 劃所用的 統計 信息很有可能比 較 舊。 這樣執 行 計 劃的分析 結 果可能 誤 差會 變 大。

          以下是表tenk1的相關的一部分統計信息。
          SELECT relname, relkind, reltuples, relpages
          FROM pg_class
          WHERE relname LIKE 'tenk1%';

          relname | relkind | reltuples | relpages
          ----------------------+---------+-----------+----------
          tenk1 | r | 10000 | 358
          tenk1_hundred | i | 10000 | 30
          tenk1_thous_tenthous | i | 10000 | 30
          tenk1_unique1 | i | 10000 | 30
          tenk1_unique2 | i | 10000 | 30
          (5 rows)
          其中 relkind是類型,r是自身表,i是索引index;reltuples是項目數;relpages是所占硬盤的塊數。

          3.明確用join來關聯表
          一般寫法:SELECT * FROM a, b, c WHERE a.id = b.id AND b.ref = c.id;
          如果明確用join的話,執行時候執行計劃相對容易控制一些。
          例子:
          SELECT * FROM a CROSS JOIN b CROSS JOIN c WHERE a.id = b.id AND b.ref = c.id;
          SELECT * FROM a JOIN (b JOIN c ON (b.ref = c.id)) ON (a.id = b.id);

          4.關閉自動提交(autocommit=false)

          5.多次插入數據是用copy命令更有效率
          我們有的處理中要對同一張表執行很多次insert操作。這個時候我們用copy命令更有效率。因為insert一次,其相關的index都要做一次,比較花費時間。

          6.臨時刪除index
          有時候我們在備份和重新導入數據的時候,如果數據量很大的話,要很幾個小時才能完成。這個時候可以先把index刪除掉。導入在建index。

          7.外鍵關聯的刪除
          如果表的有外鍵的話,每次操作都沒去check外鍵整合性。因此比較慢。數據導入后在建立外鍵也是一種選擇。

          8.增加maintenance_work_mem參數大小
          增加這個參數可以提升CREATE INDEX和ALTER TABLE ADD FOREIGN KEY的執行效率。

          9.增加checkpoint_segments參數的大小
          增加這個參數可以提升大量數據導入時候的速度。

          10.設置archive_mode無效
          這個參數設置為無效的時候,能夠提升以下的操作的速度
          ?CREATE TABLE AS SELECT
          ?CREATE INDEX
          ?ALTER TABLE SET TABLESPACE
          ?CLUSTER等。

          11.最后執行VACUUM ANALYZE
          表中數據大量變化的時候建議執行VACUUM ANALYZE。

          posted on 2012-04-19 23:49 月月鳥 閱讀(969) 評論(10)  編輯  收藏 所屬分類: 其他

          FeedBack:
          # re: PostgreSQL 數據庫性能提升的幾個方面
          2013-10-17 17:31 | H2O
          enterprise osgi in action  回復  更多評論
            
          # re: PostgreSQL 數據庫性能提升的幾個方面
          2014-06-27 14:23 | oop
          <capability name="org.ops4j.pax.web.jetty.bundle" startlevel="1"/>
          <capability name="org.ops4j.pax.web.jsp" startlevel="1"/>
          <capability name="org.ops4j.pax.web.extender.war" startlevel="1"/>
          <capability name="org.apache.aries.blueprint" startlevel="1"/>
          <capability name="org.apache.aries.proxy" startlevel="1"/>
          <capability name="org.apache.aries.util" startlevel="1"/>  回復  更多評論
            
          # re: PostgreSQL 數據庫性能提升的幾個方面
          # re: PostgreSQL 數據庫性能提升的幾個方面
          2014-10-15 11:05 | pt

          黃金時時彩全能計劃王
          黃金時時彩全能計劃王  回復  更多評論
            
          # re: PostgreSQL 數據庫性能提升的幾個方面
          # re: PostgreSQL 數據庫性能提升的幾個方面
          2015-03-03 08:38 | pt
          從程序員到CTO的Java技術路線圖

          http://blog.csdn.net/majian_1987/article/details/9316213  回復  更多評論
            
          # re: PostgreSQL 數據庫性能提升的幾個方面
          2015-04-27 17:33 | pt
          Everything
          靈格斯
          PNotes
          Launchy
          搜狗壁紙
          Notepad++
          Java
          eclipse
          Navicat Premium
          MySQL-Front
          Xftp
          Xshell
          火狐
          Chrome
          ant
          maven
          mysql
          BeyondCompare
          SVN
          SmartIDE  回復  更多評論
            
          # re: PostgreSQL 數據庫性能提升的幾個方面
          2015-05-05 16:41 | pt
          # re: PostgreSQL 數據庫性能提升的幾個方面

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2019年6月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(5)

          隨筆分類(8)

          隨筆檔案(8)

          文章分類(1)

          文章檔案(1)

          其他

          娛樂

          技術

          搜索

          •  

          積分與排名

          • 積分 - 116296
          • 排名 - 503

          最新隨筆

          最新評論

          評論排行榜

          主站蜘蛛池模板: 郑州市| 安康市| 收藏| 高台县| 孟村| 克东县| 金秀| 昆山市| 易门县| 丹棱县| 璧山县| 图木舒克市| 喀喇沁旗| 都匀市| 炉霍县| 多伦县| 富源县| 乳山市| 蚌埠市| 盱眙县| 闻喜县| 东辽县| 宁远县| 荥经县| 苍梧县| 绥芬河市| 黄平县| 府谷县| 车致| 四川省| 招远市| 金溪县| 慈溪市| 尉氏县| 五华县| 永福县| 民丰县| 临江市| 镇远县| 香河县| 修文县|