,用SQL Server2000做数据库,现在表里有上亿条纪录,怎么样尽可能的提高...
发布网友
发布时间:2024-01-08 05:56
我来回答
共1个回答
热心网友
时间:2024-08-09 15:36
你可以看一下Moebius集群
Moebius集群由一组数据库服务器组成,每个服务器上安装相同的数据库,集群支持无共享磁盘架构,各机器可以不连接一个共享设备,数据可以存储在每个机器自己的存储介质中。
依据数据是否分区,Moebius集群架构分为标准架构和高级架构:
标准架构:每个节点中具有完全相同的数据,每个节点都拥有数据全集。
高级架构:每个节点中数据是不同的,每个节点只拥有数据全集的一部分。
建议你使用高级架构,因为你的数据比较多需要分区,这样才能提高查询效果。
标准架构一般用来做双机备份。
Moebius For SQL Server高级结构支持两种分区方式:Hash分区和线性分区。
Hash分区:是将表按某一字段的值均匀地分布到若干个指定分区中的一种分区方法。
优点:每个分区内分配的数据比较平均,承载的压力也就比较平均,机器能够得到充分的利用。
缺点:不易扩展,如果扩展新的分区会涉及到数据的重新分配,因此在设计的时候要提前规划好。
Moebius For SQL Server支持把多个分区数据放在一个机器上然后再根据压力逐个的拆到新机器中去,这样既可以保证了分区的规划又不浪费机器,实现了线性扩展。
线性分区:即范围分区,将表按某一字段的取值范围进行分区,如按时间,每个月的数据在一个分区中。
优点:扩展性能比较好,因为数据的增长是有一定规律的。
缺点:每个分区内数据的压力不是很平均,大部分业务都存在这种现象,越老的数据被访问的频率越低,从而导致各机器面临的压力也不同,因此使机器的利用率不高。
Moebius For SQL Server支持把多个分区数据放在一个机器上,所以可以通过新老分区的交替使用来提高机器的利用率。
你可以根据自身是扩展性优先 还是 服务器利用率优先 选择相应的分区
高级架构的中间件会帮助你并行执行SQL语句。