我在从 Access 迁移到 MySQL 时再次遇到麻烦。
以下 SQL 语句可以与 Access 配合使用:
SELECT *
FROM tbl_content
WHERE contentID IN (
SELECT contentID
FROM tbl_tags
WHERE Bezeichnung IN (
SELECT Bezeichnung
FROM tbl_tags t2
WHERE t2.contentID= " & contentID & ")
AND contentID <> " & contentID & ")
AND Status = 1
ORDER BY Datum DESC LIMIT 0,5;
在MySQL中,性能确实很慢。有什么需要帮助的想法吗?
最佳答案
MySQL 有一个关于子查询的已知问题,每次比较时都会根据外部查询对其进行评估。避开他们!这可能就是您看到 Access 性能下降如此严重的原因。
关于mysql - 将 "IN"替换为 JOIN 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9479743/