2011-02-18 96 views
0

我有一張包含大約200萬條記錄的表,其中所有記錄都是針對同一個節點的。我不能根據日期進行分區,因爲每天都會不斷插入和刪除數據。如何在具有200萬條記錄的MySQL中對錶進行分區

其餘數據爲字符串格式。

每隔15分鐘,應用程序將從該表中進行備份(僅在15分鐘內收集的部分數據);在執行此操作時,表被鎖定並且無法訪問。

我可以用什麼樣的分區來幫助解決這個問題?

+1

20缺是不是一個非常大的數字。你能解釋一下爲什麼你想分區,這樣人們可以更好地幫助你。 – Zimbabao 2011-02-18 12:50:35

回答

0

如果您要解決的問題是備份鎖定,分區無助於解決此問題。

此外,還有更好的解決方案可以避免在備份期間鎖定。無論是否使用分區表,這些解決方案都可以很好地工作

如果您使用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是免費軟件。