2014-04-03 83 views
0

我一直在試圖通過將表2中的ID與表1相關聯來解除表的欺騙。我想使用DELETE函數,但它保持超時(無論出於何種原因,索引,大量的數據等)我知道這可以以一種相當快速和簡單的方式完成,但我似乎無法讓它工作。SQL刪除大量數據

DELETE * 
FROM `TABLE 1` 
WHERE EXISTS (select * 
       from table2 
       where t2.Client_Code = t1.Client_Code and t2.`account#` = t1.`account#` 
      ); 

因此,大家可以看到,我想刪除其中表1的客戶端代碼=以表2的客戶端代碼,表1的帳號是=到表2的帳號等。當我嘗試和運行此查詢,SQLyog的成爲滯留狀態並沒有處理。我甚至會讓它嘗試幾個小時而沒有任何進展。有什麼我可以做到這一點嗎?我看到管理員一直在輕鬆地運行這樣的查詢。

回答

0

嘗試在屬性Client_Code和帳戶#上添加一個超過t2的索引。這可以改進內部查詢的選擇。

+0

在設置我的表的索引時遇到問題之前。我試圖將數字/字符設置爲唯一或主要索引。我只需要將它們設置爲既不可用又可以工作。這正是我需要的。 – joshE