MySQL在select查询中重复表的次数是多少?
我有下一个问题:MySQL在select查询中重复表的次数是多少?,mysql,sql,select,tree,Mysql,Sql,Select,Tree,我有下一个问题: SELECT parent1.name, parent2.name FROM myTable AS child, myTable AS parent1, myTable AS parent2 WHERE child.parentId = parent1.id AND parent1.parentId = parent2.id; 我在块中放置了3次相同的内容。这是否意味着MySQL将扫描表3次?您的语言不完全清楚。MySQL将对myTable表进
SELECT
parent1.name,
parent2.name
FROM myTable AS child, myTable AS parent1, myTable AS parent2
WHERE
child.parentId = parent1.id AND
parent1.parentId = parent2.id;
我在
块中放置了3次相同的内容。这是否意味着MySQL将扫描表3次?您的语言不完全清楚。MySQL将对myTable
表进行两次自连接。它是扫描、查找还是其他操作可能取决于查询计划。请仔细阅读:-它讨论了如何让MySQL告诉您它将如何执行查询。请停止使用基于逗号的隐式连接,并在RDBMS中使用优化器通常会确保在这种情况下不会有多个扫描。索引甚至会进一步加快!但是,为了确认这一点,您可以对此查询分析Explain
语句结果。