Mysql查询似乎已经崩溃了一张表
问题描述:
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查询似乎已经崩溃了一张表
任何想法是什么问题? 我只是试图找到收到广告系列通知但尚未收到第二条通知的电子邮件。
答
显示,如果指数是电子邮件和尝试此查询:
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
的可能的复制[最佳类型的索引时,有LIKE子句(http://stackoverflow.com/questions/41304945/best -type-of-indexing-when-there-like-clause) – e4c5