Mysql

Table JOIN 和 CREATE new table 非常慢

  • December 21, 2016

我正在使用這樣的東西來創建一個新表:

CREATE TABLE result AS 
(SELECT calls.*, 
     targ_with_planned_calls.*
FROM calls
     INNER JOIN planned
             ON calls.first_id = planned.another_id);

這兩個表有大約 60k 和 80k 行。一張桌子有 5 列,另一張大約有 15 列。我正在使用 AWS RDS db.t2.medium 實例。我已經讓這個查詢執行了長達 10 分鐘,但它仍在執行。

這應該花這麼長時間嗎?我想知道性能問題是什麼。我原以為會很快。

您正在與 SELECT 一起執行 DDL

機械地做CREATE TABLE AS SELECT兩個命令

  • 創建表
  • 插入…選擇

這將在兩個callsplanned

我在一些較早的文章中寫過這種行為

聽起來你沒有索引:

calls以 INDEX 或 PRIMARY KEY 開頭first_id

同上plannedanother_id

您需要一個或另一個來避免執行 60k80k 操作。使用索引,它將只有 60k加上80k 操作。

請提供SHOW CREATE TABLE以確認,並讓我們檢查其他問題,例如不同的數據類型。

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