Mysql
mysql表複製只是一些記錄?
我有一個大數據庫,其中包含一個包含大約 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 都滿足視圖定義中的條件。