多表选择与JOIN(性能)
从MySQL中的多个表中选择时,以下两个查询均返回相同的结果集。
这些查询中的一个比另一个查询 更好
或更有效吗?根据我在一个小的数据集(每个表中约有2000行)的测试中,它们都在大约相同的执行时间上返回了相同的结果集。
SELECT *
FROM
products,
product_meta,
sales_rights
WHERE
(
products.id = product_meta.product_id
AND products.id = sales_rights.product_id
)
AND (...)
LIMIT 0,10;
SELECT *
FROM
products
INNER JOIN product_meta ON products.id = product_meta.product_id
JOIN sales_rights ON product_meta.product_id = sales_rights.product_id
WHERE
(...)
LIMIT 0,10;
回答:
它们是相同的,但是语法不同。因此,您不应该期望这两种语法之间的性能差异。但是,建议使用最后一种语法(ANS
SQL-92语法),有关更多详细信息,请参见以下内容:
以上是 多表选择与JOIN(性能) 的全部内容, 来源链接: utcz.com/qa/412416.html