我們正試圖將我們的數據庫(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. 更新數據庫
- 10. 更新數據庫
- 11. 更新數據庫
- 12. Android SimpleCursorAdapter數據庫更新時更新
- 13. 更新數據庫表更新緩存
- 14. MYSQL更新不更新數據庫?
- 15. 更新數據庫後GridView不更新
- 16. 更新數據庫同時更新apk
- 17. Java:resultSet更新不會更新數據庫
- 18. PDO更新沒有更新數據庫
- 19. 從DataGridView更新更新Access數據庫
- 20. asp.net更新數據庫更新網頁
- 21. PHP更新不更新數據庫
- 22. 當服務器數據庫更新時更新sqlite數據庫
- 23. 如何更新數據庫更新數據庫
- 24. c#更新數據庫但不更新數據庫
- 25. MYSQL和PHP數據庫更新不會更新數據庫
- 26. 如何更快地在我的sql數據庫中更新1,000,000個數據?
- 27. 使用SQL加密更新生產數據庫 - 批量更新快捷方式?
- 28. VB:Gridview編輯和更新 - 更新沒有更新數據庫
- 29. Android SQLite數據庫在更新多個更新時未更新
- 30. 更新數據庫c#
當前我們的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