下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當前位置:軟件下載吧 > 技術開發 > 數據庫 > PostgreSQL教程(十四):數據庫維護

          PostgreSQL教程(十四):數據庫維護

          時間:2024-02-09 10:40作者:下載吧人氣:32

          一、恢復磁盤空間:

              在PostgreSQL中,使用delete和update語句刪除或更新的數據行并沒有被實際刪除,而只是在舊版本數據行的物理地址上將該行的狀態置為已刪除或已過期。因此當數據表中的數據變化極為頻繁時,那么在一段時間之后該表所占用的空間將會變得很大,然而數據量卻可能變化不大。要解決該問題,需要定期對數據變化頻繁的數據表執行VACUUM操作。

              VACUUM命令存在兩種形式,VACUUM和VACUUM FULL,它們之間的區別見如下表格:

            無VACUUM VACUUM VACUUM FULL
          刪除大量數據之后 只是將刪除數據的狀態置為已刪除,該空間不能記錄被重新使用。 如果刪除的記錄位于表的末端,其所占用的空間將會被物理釋放并歸還操作系統。如果不是末端數據,該命令會將指定表或索引中被刪除數據所占用空間重新置為可用狀態,那么在今后有新數據插入時,將優先使用該空間,直到所有被重用的空間用完時,再考慮使用新增的磁盤頁面。 不論被刪除的數據是否處于數據表的末端,這些數據所占用的空間都將被物理的釋放并歸還于操作系統。之后再有新數據插入時,將分配新的磁盤頁面以供使用。
          執行效率   由于只是狀態置為操作,因此效率較高。 在當前版本的PostgreSQL(v9.1)中,該命令會為指定的表或索引重新生成一個數據文件,并將原有文件中可用的數據導入到新文件中,之后再刪除原來的數據文件。因此在導入過程中,要求當前磁盤有更多的空間可用于此操作。由此可見,該命令的執行效率相對較低。
          被刪除的數據所占用的物理空間是否被重新規劃給操作系統。 不會 不會
          在執行VACUUM命令時,是否可以并發執行針對該表的其他操作。   由于該操作是共享鎖,因此可以與其他操作并行進行。 由于該操作需要在指定的表上應用排它鎖,因此在執行該操作期間,任何基于該表的操作都將被掛起,知道該操作完成。
          推薦使用方式 在進行數據清空是,可以使用truncate操作,因為該操作將會物理的清空數據表,并將其所占用的空間直接歸還于操作系統。 為了保證數據表的磁盤頁面數量能夠保持在一個相對穩定值,可以定期執行該操作,如每天或每周中數據操作相對較少的時段。 考慮到該操作的開銷,以及對其他錯誤的排斥,推薦的方式是,定期監控數據量變化較大的表,只有確認其磁盤頁面占有量接近臨界值時,才考慮執行一次該操作。即便如此,也需要注意盡量選擇數據操作較少的時段來完成該操作。
          執行后其它操作的效率 對于查詢而言,由于存在大量的磁盤頁面碎片,因此效率會逐步降低。 相比于不執行任何VACUUM操作,其效率更高,但是插入的效率會有所降低。 在執行完該操作后,所有基于該表的操作效率都會得到極大的提升。

          二、更新規劃器統計:

              PostgreSQL查詢規劃器在選擇最優路徑時,需要參照相關數據表的統計信息用以為查詢生成最合理的規劃。這些統計是通過ANALYZE命令獲得的,你可以直接調用該命令,或者把它當做VACUUM命令里的一個可選步驟來調用,如VACUUM ANAYLYZE table_name,該命令將會先執行VACUUM再執行ANALYZE。與回收空間(VACUUM)一樣,對數據更新頻繁的表保持一定頻度的ANALYZE,從而使該表的統計信息始終處于相對較新的狀態,這樣對于基于該表的查詢優化將是極為有利的。然而對于更新并不頻繁的數據表,則不需要執行該操作。

              我們可以為特定的表,甚至是表中特定的字段運行ANALYZE命令,這樣我們就可以根據實際情況,只對更新比較頻繁的部分信息執行ANALYZE操作,這樣不僅可以節省統計信息所占用的空間,也可以提高本次ANALYZE操作的執行效率。這里需要額外說明的是,ANALYZE是一項相當快的操作,即使是在數據量較大的表上也是如此,因為它使用了統計學上的隨機采樣的方法進行行采樣,而不是把每一行數據都讀取進來并進行分析。因此,可以考慮定期對整個數據庫執行該命令。

              事實上,我們甚至可以通過下面的命令來調整指定字段的抽樣率,如:
           

              ALTER TABLE testtable ALTER COLUMN test_col SET STATISTICS 200
           
          標簽[db:關鍵字]

          相關下載

          查看所有評論+

          網友評論

          網友
          您的評論需要經過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 在线一区二区观看| 久久99精品国产一区二区三区| 亚洲精品日韩一区二区小说| 黑巨人与欧美精品一区| 久久亚洲综合色一区二区三区| eeuss鲁片一区二区三区| 国产内射在线激情一区| 亚洲av无码天堂一区二区三区| 成人久久精品一区二区三区| 麻豆一区二区免费播放网站| 国偷自产Av一区二区三区吞精| 国产精品一区二区电影| 亚洲AV无码片一区二区三区| 国产福利一区二区三区| 日韩精品在线一区二区| 国产亚洲一区二区三区在线| 97精品国产福利一区二区三区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 国产亚洲3p无码一区二区| 亚洲国产精品成人一区| 无遮挡免费一区二区三区| 日本一区二区三区精品国产| 精品一区二区三区视频在线观看 | 国产精品免费一区二区三区| 精品人妻一区二区三区四区| 日本精品一区二区三区四区| 日韩一区二区三区视频久久| 亚洲日韩国产一区二区三区| 日韩电影在线观看第一区| 精品一区精品二区| 国产AⅤ精品一区二区三区久久| 国产精品区AV一区二区| 国产日韩精品一区二区三区在线 | 日韩精品电影一区亚洲| 国产一区二区三区小向美奈子 | 国产不卡视频一区二区三区| 在线观看国产一区| 日韩精品无码中文字幕一区二区 | 2020天堂中文字幕一区在线观| 色欲AV蜜臀一区二区三区| 日本在线视频一区二区|