所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

多对多关系表怎么进行查询?

发布时间:2020-04-12 08:45:51

资讯分类:查询  关系  关联  查询  数据库
多对多关系表怎么进行查询?

简单说说1. 从逻辑架构分层原则来看 关联关系代表了业务规则/逻辑,毫无约束大量使用关联查询,就是把大量的业务规则和逻辑放在数据库来执行了,数据库消耗cpu、内存、io等资源进行关联操作,实际上是在做应用该做的事情。2. 从资源利用率方面看 大部分场景下,并不是所有关联查询的结果都被有效使用了。例如后台管理的列表界面,通常都会分页显示,关联查询的结果集,只有当前页的数据被使用,其他都是无用的,但数据库需要消耗额外资源得到全部结果集,再从中得到当前页数据。3. 从架构的伸缩性方面看 大量的关联查询会导致集中式的数据库架构很难向分布式架构转换,伸缩性方面的优化难度高。关联查询方便快速,开发效率比较好,如果系统、数据库经过一些垂直优化手段完全能够满足性能要求是可以使用的,例如中小企业的内部管理系统等。不使用关联查询在架构层面有很多优点,但对系统分析和设计、开发能力要求高。一般在互联网行业等用户数较多的情况下最好重视这方面。理论上不存在什么复杂场景,如果不使用数据库的关联查询就无法满足需求的。巨无霸的ERP系统SAP,基本整个系统功能都是用单表查询实现的

多对多关系表怎么进行查询?

通过contract_project做中间表就行:select *from contract_project aleft join project b on a.projectId = b.projectIdleft join contract c on a.contractId = c.contractId前提是contract_project要大而全,包含所有的pid和cid,不然不行

留言与评论(共有 0 条评论)
   
验证码:
Top