多表选择与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

回到顶部