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
语句结果。