你能帮我优化这个 mysql 查询或任何其他编写这个 mysql 查询的方式吗,它运行但需要太多时间。
SELECT DISTINCT
A.item1,
A.item2,
A.item3,
FROM tableAA AS A
INNER JOIN(tableBB AS B)
ON(A.item4 = B.item4)
INNER JOIN(tableCC AS C)
ON(A.item4 = C.item4)
INNER JOIN(tableDD AS D)
ON(A.item4 = D.item4)
WHERE (B.item5 = '$selected1' AND
B.item6 LIKE '%$selected2%' AND
C.item7='$selected3' ) OR
(A.item8 LIKE '%$selected2%' AND
D.item5 = '$selected1' AND
C.item7='$selected3')
还有其他方法可以编写此查询吗?
编辑:tableAA & tableBB & tableCC 包含数十亿个条目,我想我已经正确地索引了表格。
edit2:但我认为问题不在于 Like % 条件。我已将其关闭并再次运行查询。但它仍然需要很长时间,比如 565 秒。