日期:2014-05-18  浏览次数:20469 次

如何提高海量数据表关联查询的效率
现在的情况,是有一个表很大,有一亿的记录,而搜索查询量又很大,而且更新量也很大,基本每天更新三分之一到三分之二左右,而且需要和其他相关的表进行关联查询,不知道有啥好的解决方法

一般情况下,都是要水平拆分表的,这样会导致,拆分后的表,不好与其他的相关表进行关联查询,没用过分区视图的功能,听同事说,性能不好,如果拆分的表在不同DB上,每次访问的时候,需要用连接服务器验证访问,性能很差.没测试过,有哪位有分区视图的心得不?


如果不拆表,一亿数据全放在一个表里,做读写分离,通过索引优化来提高性能,或采用一些全文检索的方法,就需要做复制分发,但是如果这个表更新频繁,做复制分发,性能又是一个问题,没测试过,凭直觉认为复制分发对于更新频繁的表不适合做
这种策略




------解决方案--------------------
帮顶 搜索量大 更新量大 索引就会非常麻烦 索引的更新开销也会很大
sqlserver2005支持数据分区
------解决方案--------------------
听老大说,有一个分区表的概念
------解决方案--------------------
2005以上的数据库建议使用分区表来实现
------解决方案--------------------
每 天更新的数据是都最近的吗?有没有规律
------解决方案--------------------
探讨
现在的情况,是有一个表很大,有一亿的记录,而搜索查询量又很大,而且更新量也很大,基本每天更新三分之一到三分之二左右,而且需要和其他相关的表进行关联查询,不知道有啥好的解决方法

一般情况下,都是要水平拆分表的,这样会导致,拆分后的表,不好与其他的相关表进行关联查询,没用过分区视图的功能,听同事说,性能不好,如果拆分的表在不同DB上,每次访问的时候,需要用连接服务器验证访问,性能很差.没测试过,有哪位有分区视图的心得不?


如果不拆表,一亿数据全放在一个表里,做读写分离,通过索引优化来提高性能,或采用一些全文检索的方法,就需要做复制分发,但是如果这个表更新频繁,做复制分发,性能又是一个问题,没测试过,凭直觉认为复制分发对于更新频繁的表不适合做
这种策略




------解决方案--------------------
探讨
分区表知道

主要是我们的数据记录不是按时间增长成线性增长,增长还是比较慢,总的数据量是比较稳定
也就是客户需要每天把自己的不要的数据删除掉,添加新的数据,还有把一些旧的数据内容进行修改操作.

我所说的每天更新量有三分之一到三分二左右,就是这些更新量.


相对来说这个更新量还是很频繁的,

用分区表的话,插入的时候,把数据插到不同的子表中,查询的时候,用汇总表,但是与其他相关表做关联查询的时候,性能会不会不好?

而且网站的流量大的话,肯定分区子表不能放在一台DB服务器上,肯定是放在不同的DB上,这样汇总表的时候,需要用linkserver,好像这个每次连接的时候,需要身份验证,性能很不好.

不知道myspace网站怎么做的,