我們正試圖將我們的數據庫(mysql)移動到amazon redshift(數據倉庫),並且在更新倉庫數據庫時遇到問題。我們已經啓用了我們的數據庫的通用日誌記錄,然後我們從紅色通用日誌中重放所有這些查詢。所有更新查詢需要大約6-7秒。我正在尋找某種方式以更快的速度執行這些更新? Amazon Redshift在內部使用了一個postgre db,如果有人已經爲redshift/postgre解決了這個問題,那麼它會很棒,可以提供一個解決方案。儘管更快地更新更新的一般方法也會有所幫助。 我試過的一個解決方案是將所有更新合併到一組刪除和插入中。因此,單個表上的所有更新都將轉換爲單個刪除查詢,其中包含where子句和單個批處理插入查詢。 任何人都可以提供替代解決方案或對我嘗試的解決方案發表評論嗎?數據庫更新更快?
Q
數據庫更新更快?
0
A
回答
1
Redshift不打算用作'常規'數據庫 - 所有數據都應該使用COPY命令(或CREATE TABLE AS語法)插入,然後將其用於SELECTS。
對單個行的操作(如插入或更新)不是數據庫優化的目的。
建議的解決方法(使用DELETE/INSERT)而不是UPDATE會提高速度,但記住所有添加的行都會插入到UNSORTED數據庫塊中,只有在VACUUM所有數據都將被正確排序並且未使用的空間將被回收使用。
相關問題
- 1. 數據庫更新
- 2. 更新數據庫
- 3. 數據庫更新
- 4. 更新數據庫
- 5. 數據庫更新
- 6. 更新數據庫
- 7. 更新數據庫
- 8. 更新數據庫表更新緩存
- 9. MYSQL和PHP數據庫更新不會更新數據庫
- 10. 當服務器數據庫更新時更新sqlite數據庫
- 11. 如何更新數據庫更新數據庫
- 12. Android SQLite數據庫在更新多個更新時未更新
- 13. 更新mdb數據庫表
- 14. 更新android數據庫
- 15. 腓更新數據庫
- 16. 數據庫沒有更新
- 17. 更新數據庫表
- 18. 更新數據庫c#
- 19. 在JDBC(更新數據庫)
- 20. Android:更新數據庫表
- 21. 異步更新數據庫
- 22. Mongo數據庫更新
- 23. NullPointerExcpetion更新時,數據庫
- 24. LinqToSQL不更新數據庫
- 25. 從datagridview更新數據庫
- 26. 更新數據庫連接
- 27. 數據庫模式更新
- 28. C#更新數據庫
- 29. C#數據庫更新
- 30. context.savechanges()不更新數據庫?
當前我們的db託管在mysql上,查詢是單個表上的基本更新查詢。 – user1045047 2013-05-02 11:12:22
我正在捕獲來自mysql db上的常規日誌的查詢,並在postgre db上重播它們。 – user1045047 2013-05-02 11:25:08
每個更新過程中的行數通常在10k行左右。我們正在Redshift控制檯(這是一個單獨的事務)上啓動一個連接,但我曾嘗試在單個事務中運行單個查詢,並在單個事務中運行大約100個查詢。結果是一樣的,每個查詢大約在6-7s之間,即在單個事務中100次更新大約600-700s。 – user1045047 2013-05-02 11:28:00