黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

postgresql優(yōu)化數(shù)據(jù)的批量插入

系統(tǒng) 4870 0

原文: http://www.cnblogs.com/mchina/archive/2012/08/11/2537393.html

有以下幾種方法用于優(yōu)化數(shù)據(jù)的批量插入。

?? ? 1. 關(guān)閉自動提交:
?? ?在批量插入數(shù)據(jù)時,如果每條數(shù)據(jù)都被自動提交,當中途出現(xiàn)系統(tǒng)故障時,不僅不能保障本次批量插入的數(shù)據(jù)一致性,而且由于有多次提交操作的發(fā)生,整個插入效率也會受到很大的打擊。解決方法是,關(guān)閉系統(tǒng)的自動提交,并且在插入開始之前,顯式的執(zhí)行begin transaction命令,在全部插入操作完成之后再執(zhí)行commit命令提交所有的插入操作。
?? ?
?? ? 2. 使用COPY:
?? ?使用COPY在一條命令里裝載所有記錄,而不是一系列的INSERT命令。COPY命令是為裝載數(shù)量巨大的數(shù)據(jù)行優(yōu)化過的,它不像INSERT命令那樣靈活,但是在裝載大量數(shù)據(jù)時,系統(tǒng)開銷也要少很多。因為COPY是單條命令,因此在填充表的時候就沒有必要關(guān)閉自動提交了。 ?
?? ?
?? ? 3. 刪除索引:
?? ?如果你正在裝載一個新創(chuàng)建的表,最快的方法是創(chuàng)建表,用COPY批量裝載,然后創(chuàng)建表需要的任何索引。因為在已存在數(shù)據(jù)的表上創(chuàng)建索引比維護逐行增加要快。當然在缺少索引期間,其它有關(guān)該表的查詢操作的性能將會受到一定的影響,唯一性約束也有可能遭到破壞。
?? ?
?? ? 4. 刪除外鍵約束:
?? ?和索引一樣,"批量地"檢查外鍵約束比一行行檢查更加高效。因此,我們可以先刪除外鍵約束,裝載數(shù)據(jù),然后再重建約束。
?? ?
?? ? 5. 增大maintenance_work_mem:
?? ?在裝載大量數(shù)據(jù)時,臨時增大maintenance_work_mem系統(tǒng)變量的值可以改進性能。這個系統(tǒng)參數(shù)可以提高CREATE INDEX命令和ALTER TABLE ADD FOREIGN KEY命令的執(zhí)行效率,但是它不會對COPY操作本身產(chǎn)生多大的影響。
?? ?
?? ? 6. 增大checkpoint_segments:
?? ?臨時增大checkpoint_segments系統(tǒng)變量的值也可以提高大量數(shù)據(jù)裝載的效率。這是因為在向PostgreSQL裝載大量數(shù)據(jù)時,將會導(dǎo)致檢查點操作(由系統(tǒng)變量checkpoint_timeout聲明)比平時更加頻繁的發(fā)生。在每次檢查點發(fā)生時,所有的臟數(shù)據(jù)都必須flush到磁盤上。通過提高checkpoint_segments變量的值,可以有效的減少檢查點的數(shù)目。
?? ?
?? ? 7. 事后運行ANALYZE:
?? ?在增加或者更新了大量數(shù)據(jù)之后,應(yīng)該立即運行ANALYZE命令,這樣可以保證規(guī)劃器得到基于該表的最新數(shù)據(jù)統(tǒng)計。換句話說,如果沒有統(tǒng)計數(shù)據(jù)或者統(tǒng)計數(shù)據(jù)太過陳舊,那么規(guī)劃器很可能會選擇一個較差的查詢規(guī)劃,從而導(dǎo)致查詢效率過于低下。

postgresql優(yōu)化數(shù)據(jù)的批量插入


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論