[size=18px][size=16px]现在我假设有三个表,数据很多,有两种方法查询
SELECT r.system_product_id,r.sales_price,s.supplier_product_id,t.image_big_url from r
INNER JOIN s on r.system_product_id=s.system_product_sid
INNER JOIN t on t.supplier_product_id=s.supplier_product_id GROUP BY s.supplier_product_id limit(0,20);第二种是:用一个inner join s,不用inner join t,然后使用一个循环,对t表查找20次,哪种方法性能会更好呢?请朋友们分析下?
SELECT r.system_product_id,r.sales_price,s.supplier_product_id,t.image_big_url from r
INNER JOIN s on r.system_product_id=s.system_product_sid
INNER JOIN t on t.supplier_product_id=s.supplier_product_id GROUP BY s.supplier_product_id limit(0,20);第二种是:用一个inner join s,不用inner join t,然后使用一个循环,对t表查找20次,哪种方法性能会更好呢?请朋友们分析下?
所以两个 INNER JOIN 得到的结果集,至多和一个 INNER JOIN 的规模一样你的第二个方案,需要多次操作数据库,程序结构复杂,还会因数据库繁忙失败
还可能要做无用功
join 很容易理解,就是平面化数据
而 relation 是立体化数据,如果你需要获取树形数据时可以用它