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 數據庫性能提升的幾個方面

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


          網站導航:
           
          <2014年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(5)

          隨筆分類(8)

          隨筆檔案(8)

          文章分類(1)

          文章檔案(1)

          其他

          娛樂

          技術

          搜索

          •  

          積分與排名

          • 積分 - 116294
          • 排名 - 503

          最新隨筆

          最新評論

          評論排行榜

          主站蜘蛛池模板: 南投县| 定安县| 门头沟区| 信阳市| 葵青区| 全南县| 永兴县| 息烽县| 保康县| 山西省| 柞水县| 广德县| 常州市| 金沙县| 滨海县| 寻甸| 井冈山市| 寿阳县| 定安县| 错那县| 怀来县| 上虞市| 保靖县| 澄江县| 车险| 阿巴嘎旗| 桓台县| 黑水县| 安西县| 寿阳县| 航空| 吕梁市| 巴楚县| 兰州市| 资中县| 周口市| 新巴尔虎左旗| 贵溪市| 平罗县| 开江县| 盘山县|