码迷,mamicode.com
首页 > 数据库 > 详细

SqlServer性能优化分割提升性能分布式视图(七)

时间:2016-12-31 15:36:34      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:性能   sharp   连接   访问   table   key   步骤   src   sql   

分布式视图:

1.将大表分割到多个服务器上存储

2.物理上与逻辑上都存在多个表

3.通过视图实现对分布到多个服务器表进行访问

4.整合网络负载平衡

 

链接两台数据库:

建立同样的数据结构:

 create table Sales(c1 int not null,c2 int)
 alter table Sales
 add constraint pk_Sales_c1 primary key (c1)
alter table Sales
 add constraint ck_Sales_c1 check(c1 between 1 and 100)
--后一太数据库 101---200

 点击新建链接服务器:

技术分享

技术分享

技术分享

创建视图:

 create view v_sales
 as
 select * from Sales union all
 select * from [localhost\Src1] HRDB.dbo.Sales

 在第二台服务器上建立与第一台服务器的链接 和上面的步骤一样

 

执行下面的语句:

 insert v_sales values (2,2)
 insert v_sales values(200,200)

 报错:(保证分布式事物可用)

技术分享

开启:

技术分享

技术分享

技术分享

 

在次执行报错:

技术分享

改成这样:

 set xact_abort on
 insert v_sales values (2,2)
 insert v_sales values(200,200)

 执行下面的语句:

技术分享

结果如下:

技术分享

技术分享

执行下面的更新语句:

技术分享

第一台服务器没有全在第二台服务器上:

技术分享

由此可见:分布式视图可以有效的解决系统性能问题,将大表不同的记录范围---分在不同的服务器上,然后通过视图进行表的操作,有效的平衡服务器负载的流量

 

 

 

分割提升数据的访问:

数据的放置:

技术分享

 

1.数据放置的原则:

     1.在不同的无力磁盘或RAID上创建文件组

     2.将常用的连接查询中的表放置到不同的文件组

     3.将访问频繁的大表放置到不同的文件组

    4.日志文件存放在单独的磁盘

    5.将Tempdb数据库放置到快速的磁盘或RAID上

 

SqlServer性能优化分割提升性能分布式视图(七)

标签:性能   sharp   连接   访问   table   key   步骤   src   sql   

原文地址:http://www.cnblogs.com/sunliyuan/p/6239218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!