真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PostgreSQL表分區(qū)不同實(shí)現(xiàn)的示例分析

PostgreSQL表分區(qū)不同實(shí)現(xiàn)的示例分析,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

如皋網(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ū)的情況似乎是最常見(jiàn),最需要優(yōu)化的。

此外,分享一些基準(zhǔn)測(cè)試。 這一基準(zhǔn)測(cè)試是一年的記賬, 按天來(lái)做表分區(qū),總計(jì)約1百萬(wàn)(1M)條數(shù)據(jù) 當(dāng)然,這只是個(gè)測(cè)試示列,因?yàn)樵趯?shí)際中由于數(shù)據(jù)量太小,沒(méi)有人會(huì)分成這么多分區(qū)

但它仍然很高興見(jiàn)到分區(qū)開(kāi)銷。下列操作的性能進(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)行了比較︰

單表,沒(méi)有使用分區(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é)果。

PostgreSQL表分區(qū)不同實(shí)現(xiàn)的示例分析 PostgreSQL表分區(qū)不同實(shí)現(xiàn)的示例分析

PostgreSQL表分區(qū)不同實(shí)現(xiàn)的示例分析

我可以得到以下結(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ā)器用來(lái)的

  • 在選擇整個(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)超過(guò)與pg_partman, 是由于其他兩者在在父關(guān)系上使用了觸發(fā)器, 但是,pg_pathman 使用了快速的C函數(shù)來(lái)實(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è)URL:http://weahome.cn/article/ppcshe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部