为什么连表不能超过3

为什么连表不能超过3,第1张

如果多个表关联查询(超过3张表)效率上是比不上PG的。

前段时间在跟其他公司DBA交流时谈到了mysql跟PG之间在多表关联查询上的一些区别,相比之下mysql只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort-merge join)与散列连接(hash join),而PG是都支持的,而且mysql是往简单化方向去设计的,如果多个表关联查询(超过3张表)效率上是比不上PG的。

可以关联查询的,如果两个表的字段有关联的话,同名表的关联可以这样写

select x.*, y.*, z.* from x as xx

left join y as yy on xx.cate = yy.scid

left join z as zz on zz.cate = zz.scid

我不是很明白你说的三个表的区域之间的关联,这个可能有错你可以改改

如果两个表相同名称的字段相关联的话条件就是aa.name = bb.name

数据库多表关联,一般采用外键比较方便,也可以额外建一个连接表做多表关联的连接,但这样稍微有点儿复杂,这些是建表方面的关联。查询关联,可以采用多表查询的方式关联查询,这点要求稍高点儿,但关联后再 *** 作单表时,别的表不用受太大的影响,这点特好。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7451069.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存