2016-12-26 36 views
0
SELECT email from sending 
WHERE `subject` LIKE '%wildcard1%' 
AND email NOT In (SELECT email FROM sending where subject LIKE '%wildcard2%'); 

嗨。 我在160.000条目表上的phpmyadmin中运行了这个查询。 从那时起,我的数据库和网站在我试图访问某个表的时候就卡住了。 桌子的尺寸也很大(160 MB)Mysql查询似乎已经崩溃了一张表

任何想法是什么问题? 我只是试图找到收到广告系列通知但尚未收到第二条通知的电子邮件。

+0

的可能的复制[最佳类型的索引时,有LIKE子句(http://stackoverflow.com/questions/41304945/best -type-of-indexing-when-there-like-clause) – e4c5

回答

0

显示,如果指数是电子邮件和尝试此查询:

SELECT s1.email FROM sending s1 
WHERE s1.subject LIKE '%wildcard1%' 
AND NOT EXISTS (
    SELECT 1 FROM sending s2 
    WHERE s2.email = s1.email 
    AND s2.`subject` LIKE '%wildcard2%'); 
+0

在电子邮件中添加索引并运行得很好。谢谢! :) – valiD