从 MySQL 中的多个表中进行选择时,以下两个查询都返回相同的结果集。
这些查询中的一个是否比另一个更好或更有效?从我对一个小数据集(每个表中约 2k 行)的测试来看,它们都在大约相同的执行时间内返回相同的结果集。
查询一:
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;
查询 2:
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;