Home  >  Article  >  Backend Development  >  开发过程中关于连表查询和拆表查询取数据问题?

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

WBOY
WBOYOriginal
2016-06-06 20:31:441090browse

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

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

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

回复内容:

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

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

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

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

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

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

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn