0
我有一張包含大約200萬條記錄的表,其中所有記錄都是針對同一個節點的。我不能根據日期進行分區,因爲每天都會不斷插入和刪除數據。如何在具有200萬條記錄的MySQL中對錶進行分區
其餘數據爲字符串格式。
每隔15分鐘,應用程序將從該表中進行備份(僅在15分鐘內收集的部分數據);在執行此操作時,表被鎖定並且無法訪問。
我可以用什麼樣的分區來幫助解決這個問題?
我有一張包含大約200萬條記錄的表,其中所有記錄都是針對同一個節點的。我不能根據日期進行分區,因爲每天都會不斷插入和刪除數據。如何在具有200萬條記錄的MySQL中對錶進行分區
其餘數據爲字符串格式。
每隔15分鐘,應用程序將從該表中進行備份(僅在15分鐘內收集的部分數據);在執行此操作時,表被鎖定並且無法訪問。
我可以用什麼樣的分區來幫助解決這個問題?
如果您要解決的問題是備份鎖定,分區無助於解決此問題。
此外,還有更好的解決方案可以避免在備份期間鎖定。無論是否使用分區表,這些解決方案都可以很好地工作
如果您使用InnoDB表(which you should),則可以使用事務隔離而不是鎖定轉儲數據。
mysqldump --single-transaction mydatabase mytable ...
閱讀手冊,瞭解更多信息:https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
您還可以使用Percona XtraBackup創建一個物理備份,而不是數據轉儲。這也取決於使用InnoDB表。 Percona XtraBackup是免費軟件。
20缺是不是一個非常大的數字。你能解釋一下爲什麼你想分區,這樣人們可以更好地幫助你。 – Zimbabao 2011-02-18 12:50:35