如果有一个结果匹配"parent_ id">在我的"strong>"中;表1"和";表2">表中的行数,我想得到"表1">表格。
但是SQL查询花费的时间太长
表1中有10000行。
表2中有40000行。
供您尝试的表数据文件请参阅:https://pastebin.pl/view/raw/ddf8c467
表格结构
CREATE TABLE table1 (id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
parent_id INT(11) UNSIGNED NOT NULL ,
tes1 INT(1) NOT NULL , PRIMARY KEY (id)) ENGINE = MyISAM;
CREATE TABLE table2 (id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
parent_id INT(11) UNSIGNED NOT NULL ,
tes2 INT(1) NOT NULL , PRIMARY KEY (id)) ENGINE = MyISAM;
我使用的SQL查询
SELECT COUNT(A.id) AS total
FROM table1 A
LEFT JOIN table2 B ON A.parent_id = B.parent_id
WHERE B.id IS NOT NULL
在表B的parent_id上创建一个索引,并在可能的情况下使用INNODB。
您也可以使用内部联接
SELECT COUNT(A.id) AS total
FROM table1 A
INNER JOIN table2 B ON A.parent_id = B.parent_id;