簡體   English   中英

在MYSQL上合並數據的最佳方法

[英]Best way to merge data on MYSQL

我有一個表,每天用兩次從其他表收集的數據填充該表,並用它來創建一些報告。

實現此目的的步驟如下:獲取將放置在表上的所有數據,截斷表,然后再次插入所有數據。

就性能而言,這是最好的方法嗎? 是否沒有辦法僅更新真正更改的內容,插入新數據並跳過其余數據?

您可以按照以下步驟通過合並更新表:

使用LEFT JOIN更新MySQL中的多個表

要管理UPDATE或INSERT,可以使用以下方法:

插入MySQL表或更新(如果存在)

顯然,這一切都取決於您的數據庫結構,要合並的數據類型以及主要是哪些密鑰可用。

問候

CREATE TABLE new LIKE real;
INSERT INTO new ...;
RENAME TABLE real TO old, new TO real;
DROP TABLE old;

優點缺點:

  • 你總是有real表。 RENAME是“即時”和“原子”的。)
  • 很簡單。
  • 可能UPDATEINSERT的組合要慢,但是根據我的第INSERT ,這真的很重要嗎?

如果有更多內容,請參閱http://mysql.rjweb.org/doc.php/staging_table ,其中討論了快速“攝取”新數據的其他方面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM