开发过程中关于连表查询和拆表查询取数据问题?
一条完整的求职信息可包括(个人基本信息表,个人教育信息表,个人证书表,个人求职信息表,个人求职意向表。。。。类似这种的扩展表)
现在问题来了,我想取出一条完整的个人求职信息,我所知道的有两种方案:1,链表查询。2,分别查询多次单表最后组合成一条完整信息。
请问:这两种有什么优缺点,在以往的开发过程中大家更倾向那种取数据的方式?或者有什么好的解决方案?数据量多了可以做哪些优化?
回复内容:
举个例子:
一条完整的求职信息可包括(个人基本信息表,个人教育信息表,个人证书表,个人求职信息表,个人求职意向表。。。。类似这种的扩展表)
现在问题来了,我想取出一条完整的个人求职信息,我所知道的有两种方案:1,链表查询。2,分别查询多次单表最后组合成一条完整信息。
请问:这两种有什么优缺点,在以往的开发过程中大家更倾向那种取数据的方式?或者有什么好的解决方案?数据量多了可以做哪些优化?
连表查询在你预期表未来的数据量都不会有太大增长,且所有相关的连表查询都有索引的情况下可以考虑.比如你的表总共就几千条数据,增长量也是几周才有10来条.可以不考虑那么多.
但是当你未来数据量涨到十万或者百万级别,你需要分表,并且要尽可能区分冷热数据(有读写需求,跟一次写入永久读取的要区分开来).
根据你的这个业务特性,我看到还是有一些冷数据的,就是一次写入,不会再有写的需求,只会有读取需求,这种可以单独放一张表,然后做长周期的cache.
对数据库的请求次数最少最好!
针对你的这个场景,建议多次查单表,有索引在不会慢,主要是好维护。
看吧...你要是链表中用到了分组,那你最好就才分了查询.其他的基本就无所谓了
以单表查询为主,数据量少查询速度能保证的可以局部使用联表查询
上一篇: Sqlserver 游标 慢
下一篇: 保存数据很慢(php)