我正在尝试从phpMyAdmin(在本地WAMP服务器上)运行以下查询:
SELECT table2.AreaName, table2.Dialcode
FROM table2
LEFT JOIN
master
ON master.Dialcode = table2.Dialcode
WHERE master.Dialcode IS NULL
我第一次试了两个表,每个表有4个条目,我得到了一个结果。
现在我正在尝试(同样的查询)我的“real”表,每个表有大约20000个条目,我单击GO。在5-6秒的时间里,我让“加载3”出现在中间,然后什么也没有发生,没有结果,任何加载。。。
知道吗?
编辑:
显示来自主控形状的索引
表Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null index_type
master 1 Dialcode 1 Dialcode A 18731空-空-是-树
同样的事情发生在桌子上。
我已经通过单击PhpMyadmin中的INDEX按钮在DialCode上创建了表的索引。
解决方案:实际上查询工作得很快,这是我做的处理,之后需要时间。
最佳答案
我刚刚为您的场景创建了一个非常简单的模型,它在0.03秒内返回,表2中有1百万条记录,master中有7万条记录。您可能需要向用于联接的字段添加索引-
ALTER TABLE `table2`
ADD INDEX `IX_table2_dialcode`(`Dialcode`);
ALTER TABLE `master`
ADD INDEX `IX_master_dialcode`(`Dialcode`);