> 백엔드 개발 > PHP 튜토리얼 > 开发过程中关于连表查询和拆表查询取数据问题?

开发过程中关于连表查询和拆表查询取数据问题?

WBOY
풀어 주다: 2016-06-06 20:31:44
원래의
1106명이 탐색했습니다.

举个例子:
一条完整的求职信息可包括(个人基本信息表,个人教育信息表,个人证书表,个人求职信息表,个人求职意向表。。。。类似这种的扩展表)

现在问题来了,我想取出一条完整的个人求职信息,我所知道的有两种方案:1,链表查询。2,分别查询多次单表最后组合成一条完整信息。

请问:这两种有什么优缺点,在以往的开发过程中大家更倾向那种取数据的方式?或者有什么好的解决方案?数据量多了可以做哪些优化?

回复内容:

举个例子:
一条完整的求职信息可包括(个人基本信息表,个人教育信息表,个人证书表,个人求职信息表,个人求职意向表。。。。类似这种的扩展表)

现在问题来了,我想取出一条完整的个人求职信息,我所知道的有两种方案:1,链表查询。2,分别查询多次单表最后组合成一条完整信息。

请问:这两种有什么优缺点,在以往的开发过程中大家更倾向那种取数据的方式?或者有什么好的解决方案?数据量多了可以做哪些优化?

连表查询在你预期表未来的数据量都不会有太大增长,且所有相关的连表查询都有索引的情况下可以考虑.比如你的表总共就几千条数据,增长量也是几周才有10来条.可以不考虑那么多.
但是当你未来数据量涨到十万或者百万级别,你需要分表,并且要尽可能区分冷热数据(有读写需求,跟一次写入永久读取的要区分开来).
根据你的这个业务特性,我看到还是有一些冷数据的,就是一次写入,不会再有写的需求,只会有读取需求,这种可以单独放一张表,然后做长周期的cache.

对数据库的请求次数最少最好!

针对你的这个场景,建议多次查单表,有索引在不会慢,主要是好维护。

看吧...你要是链表中用到了分组,那你最好就才分了查询.其他的基本就无所谓了

以单表查询为主,数据量少查询速度能保证的可以局部使用联表查询

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿