程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql處理大數據合並的另一種方法

mysql處理大數據合並的另一種方法

編輯:MySQL綜合教程

在做項目的時候我碰到了一個這樣的場景,有兩張表,數據都在300W左右,現在要求在生產環境中合並這兩張表為一張表,本來想用sql語句insert into select來實現,後來發現這樣操作速度很慢,因為裡面有計算邏輯。大概的表結構如下:

table1

id tel credits1

 

table2

id tel credits2 points

 

合並後的表為

table

id tel credits points

 

其中credits = credits1 + credits2

 

我采用的實現方法是這樣的:

 

第一步、先建一個視圖。

名為table

sql語句大致如下:

select table2.id,table2.tel,table1.credits1 + table2.credits2 as credits, table2.points from table2 left join table1 on table1.tel = table2.tel

 

上線運行一天左右,基本沒問題之後。找個運行空閒期,關閉項目。

 

第二步、導出視圖中的數據。

第三步、重命名視圖名稱為table_copy。

第四步、新建表table,字段為id tel credits points

第五步、把視圖中的數據導入到table中。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved