Mysql

mysql表複製只是一些記錄?

  • February 15, 2022

我有一個大數據庫,其中包含一個包含大約 2600 萬條記錄的表。現在我需要從一個特殊的時期做一些關於它的報告。

那麼如何從一個特殊時間的那個表中進行複制,例如,只顯示複製從 2015-01-01 到現在的記錄?

我建議使用 mysqldump 而不是複制。

mysqldump <other-params> --where="date >= '2015-01-01'" db table > dump.sql

這樣你就有了可以重複使用的轉儲文件。導入需要一些時間,但設置要簡單得多 - 您可以在任何地方導入它並執行您需要的操作。

你可以使用VIEW語句,這樣你就可以將記錄複製到一個視圖表中。

CREATE VIEW DATA_VIEW AS
SELECT c1, c2
FROM  table1
WHERE c2='some value'
WITH CHECK OPTION;

WITH CHECK OPTION 的目的是確保所有 UPDATE 和 INSERT 都滿足視圖定義中的條件。

引用自:https://dba.stackexchange.com/questions/104286