日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

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

軟件下載吧

當(dāng)前位置:軟件下載吧 > 技術(shù)開發(fā) > 數(shù)據(jù)庫 > PostgreSQL教程(十四):數(shù)據(jù)庫維護(hù)

PostgreSQL教程(十四):數(shù)據(jù)庫維護(hù)

時(shí)間:2024-02-09 10:40作者:下載吧人氣:21

一、恢復(fù)磁盤空間:

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

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

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

二、更新規(guī)劃器統(tǒng)計(jì):

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

    我們可以為特定的表,甚至是表中特定的字段運(yùn)行ANALYZE命令,這樣我們就可以根據(jù)實(shí)際情況,只對(duì)更新比較頻繁的部分信息執(zhí)行ANALYZE操作,這樣不僅可以節(jié)省統(tǒng)計(jì)信息所占用的空間,也可以提高本次ANALYZE操作的執(zhí)行效率。這里需要額外說明的是,ANALYZE是一項(xiàng)相當(dāng)快的操作,即使是在數(shù)據(jù)量較大的表上也是如此,因?yàn)樗褂昧私y(tǒng)計(jì)學(xué)上的隨機(jī)采樣的方法進(jìn)行行采樣,而不是把每一行數(shù)據(jù)都讀取進(jìn)來并進(jìn)行分析。因此,可以考慮定期對(duì)整個(gè)數(shù)據(jù)庫執(zhí)行該命令。

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

    ALTER TABLE testtable ALTER COLUMN test_col SET STATISTICS 200
 
標(biāo)簽[db:關(guān)鍵字]

相關(guān)下載

查看所有評(píng)論+

網(wǎng)友評(píng)論

網(wǎng)友
您的評(píng)論需要經(jīng)過審核才能顯示

熱門閱覽

最新排行

公眾號(hào)

主站蜘蛛池模板: 成人在线欧美 | 在线播放免费播放av片 | www.黄色免费网站 | 九九视频在线观看视频6 | 中文字幕最新中文字幕中文字幕 | 欧美一区二区aa大片 | 国产精品一区二区在线观看 | 久久亚洲精品中文字幕二区 | 免费一级特黄 欧美大片 | 久久99精品久久久久久野外 | 久草在线视频资源 | 欧美色视频在线观看 | 精品自拍视频在线观看 | 国内精品久久影视 | 亚洲国产成人久久笫一页 | 97久久精品 | 欧美激情国产一区在线不卡 | 91国偷自产一区二区三区 | 久久精品a| 国产网站免费 | 免费a黄色| 日日干夜夜爽 | 久久久久久91 | 国产一级性生活 | 大片国产片日本观看免费视频 | 欧美一级在线 | 日韩欧美中文字幕一区二区三区 | 国产精品免费_区二区三区观看 | 国产成人美女福利在线观看 | 偷拍自拍日韩 | 一级无毛片| 全部在线美女网站免费观看 | 亚洲最大网址 | 国产激爽大片在线播放 | 亚洲图片偷拍自拍 | 日本天堂视频在线观看 | 国产成人www免费人成看片 | 91国在线视频 | 在线看片亚洲 | 亚洲视频精品在线 | 欧美日韩一区二区三区视频在线观看 |