PostgreSQL表分區(qū)不同實(shí)現(xiàn)的示例分析,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
如皋網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,如皋網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為如皋上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的如皋做網(wǎng)站的公司定做!
pg_pathman 更新提供了更改查詢和刪除查詢的支持. 由于使用了PostgreSQL查詢計(jì)劃掛鉤,更新和刪除規(guī)劃在對(duì)單個(gè)分區(qū)查詢時(shí),速度會(huì)有改善 其他方式的查詢,依舊使用緩慢的繼承查詢規(guī)劃 當(dāng)然,UPDATE,DELETE操作只涉及一個(gè)一個(gè)分區(qū)的情況似乎是最常見,最需要優(yōu)化的。
此外,分享一些基準(zhǔn)測(cè)試。 這一基準(zhǔn)測(cè)試是一年的記賬, 按天來做表分區(qū),總計(jì)約1百萬(1M)條數(shù)據(jù) 當(dāng)然,這只是個(gè)測(cè)試示列,因?yàn)樵趯?shí)際中由于數(shù)據(jù)量太小,沒有人會(huì)分成這么多分區(qū)
但它仍然很高興見到分區(qū)開銷。下列操作的性能進(jìn)行比較:
選擇單行 (使用時(shí)間戳) SELECT one;
選擇某一天的全部數(shù)據(jù)(查詢單個(gè)分區(qū)的全部數(shù)據(jù)) SELECT one_partation
隨機(jī)插入單行 (使用隨機(jī)時(shí)間戳) INSERT
隨機(jī)更新單行 (使用隨機(jī)時(shí)間戳篩選) UPDATE
以下的分區(qū)方法進(jìn)行了比較︰
單表,沒有使用分區(qū) pg_partman 擴(kuò)展 pg_pathman 擴(kuò)展
在2xIntel Xeon CPU X5675 @ 3.07GHz, 24 GB 內(nèi)存的服務(wù)器上, 數(shù)據(jù)庫(kù)參數(shù)配置fsync=off 使用10個(gè)線程可以得到如下的結(jié)果。


我可以得到以下結(jié)論
pg_pathman 顯著優(yōu)于 pg_partman, 主要是由于pg_pathman 使用查詢計(jì)劃鉤子,而pg_partman 使用內(nèi)置的繼承機(jī)制.
當(dāng)選擇查詢或更新單個(gè)行時(shí),pg_pathman 和普通表幾乎是一樣快,插入單個(gè)行的差異是稍大一點(diǎn),因?yàn)橛|發(fā)器用來的
在選擇整個(gè)分區(qū)查詢時(shí),pg_partman 和 pg_pathman 時(shí)選擇整個(gè)分區(qū)之間的區(qū)別不是那樣數(shù)十倍(在查詢單行時(shí))。 因?yàn)檫@時(shí),查詢規(guī)劃時(shí)間只占整個(gè)語(yǔ)句執(zhí)行時(shí)間的一小部分。
隨機(jī)INSERT時(shí),pg_pathman 的執(zhí)行速度仍然遠(yuǎn)遠(yuǎn)超過與pg_partman, 是由于其他兩者在在父關(guān)系上使用了觸發(fā)器, 但是,pg_pathman 使用了快速的C函數(shù)來實(shí)現(xiàn)。
選擇整個(gè)分區(qū)表分區(qū)由 pg_pathman 的時(shí)候是略高于從平原表中選擇相同的行。 這是因?yàn)樵趻呙枵麄€(gè)表分區(qū)時(shí),使用了順序掃描,而索引掃描用于選擇表的一部分。 當(dāng)數(shù)據(jù)量很大,緩存不足以存下時(shí),這種差異預(yù)計(jì)會(huì)更大。
用于基準(zhǔn)測(cè)試的 SQL 腳本,請(qǐng)參閱此依據(jù)。
create_*.sql 創(chuàng)建日記帳表使用分區(qū)的各種方法。 pg_bench的腳本: select_one.sql、 select_day.sql、 insert.sql 和 update.sql .
看完上述內(nèi)容,你們掌握PostgreSQL表分區(qū)不同實(shí)現(xiàn)的示例分析的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
本文題目:PostgreSQL表分區(qū)不同實(shí)現(xiàn)的示例分析
網(wǎng)頁(yè)地址:http://chinadenli.net/article44/ppcshe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、做網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、服務(wù)器托管、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)