分布式视图:

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上

创建分区函数:

	create partition function fn_SalesOrderdetial (int)
as range left
for values(10000,50000)

创建文件组:

alter database HRDB
add filegroup fg1
alter database HRDB
add filegroup fg2
alter database HRDB
add filegroup fg3

指定关联:

	alter database HRDB
add file
(
name='data1',
filename='e:\data1.ndf'
)to filegroup fg1
alter database HRDB
add file
(
name='data2',
filename='e:\data2.ndf'
)to filegroup fg2 alter database HRDB
add file
(
name='data3',
filename='f:\data1.ndf'
)to filegroup fg3

创建分区方案:

	--创建分区方案
create partition scheme sch_SalesOrderDetail
--使用的分区函数
as partition fn_SalesOrderdetial
--放入的文件夹
to(fg1,fg2,fg3)

插入表数据:

        insert into SalesOrderDetail(OrderDetailID, UnitPrice,Qry )
select SalesOrderDetailID,UnitPrice,OrderQty from OrderDetail

查询:

        set statistics io on
select OrderDetailID,UnitPrice,Qry from SalesOrderDetail where UnitPrice>200 --0.419
set statistics io off

创建索引:

	create nonclustered index nc_Salesorderdetail_UnitPrice on      
SalesOrderDetail(UnitPrice )
include (OrderDetailID,Qry)

再次执行:

        set statistics io on
select OrderDetailID,UnitPrice,Qry from SalesOrderDetail where UnitPrice>200 --0.193
set statistics io off

加上条件:

	set statistics io on
select OrderDetailID,UnitPrice,Qry from SalesOrderDetail where UnitPrice>200 and OrderDetailID=6000 --0.07
set statistics io off

创建另外一个非聚集索引对OrderDetailID进行物理排序:

	create nonclustered index nc_SalseOrderDetail_OrderDetaillID on SalesOrderDetail(OrderDetailID)
include(unitprice,Qry)

执行:

        set statistics io on
select OrderDetailID,UnitPrice,Qry from SalesOrderDetail where UnitPrice>200 and OrderDetailID=6000 --0.07
set statistics io off

SqlServer性能优化分割提升性能分布式视图(七)的更多相关文章

  1. 性能优化——Web前端性能优化

    核心知识点: 1.排查网站性能瓶颈的手法:分析各个环节的日志,找出异常部分 2.Web前端:网站业务逻辑之前的部分(浏览器.图片服务.CDN) 3.优化手段 1)浏览器优化 (1)减少http请求 a ...

  2. web性能优化-网络传输性能优化

    浏览器工作原理:https://www.cnblogs.com/thonrt/p/10008220.html 浏览器渲染原理: https://www.cnblogs.com/thonrt/p/100 ...

  3. Android App性能优化笔记之一:性能优化是什么及为什么?

    By Long Luo   周星驰的电影<功夫>里面借火云邪神之口说出了一句至理名言:“天下武功,唯快不破”. 在移动互联网时代,同样如此,留给一个公司的窗口往往只有很短的时间,如何把握住 ...

  4. 微擎开启性能优化里面的性能优化memcache内存优化及数据库读写分离

    http://www.mitusky.com/forum.php?mod=viewthread&tid=3135 [微擎 安装使用] 微擎开启性能优化里面的性能优化memcache内存优化及数 ...

  5. Java 架构师+高并发+性能优化+Spring boot大型分布式项目实战

    视频课程内容包含: 高级 Java 架构师包含:Spring boot.Spring cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat.Spring.MongoDB.Zer ...

  6. Android app 性能优化的思考--性能卡顿不好的原因在哪?

    说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才 ...

  7. 2018/09/17《涂抹MySQL》【性能优化及诊断】学习笔记(七)

    读 第十三章<MySQL的性能优化与诊断> 总结 一说性能优化,整个人都像被打了鸡血一样

  8. iOS 性能优化之业务性能监控

    业务性能监控, 在人工的在业务的开始和结束处打点上报,然后后台统计达到监控目的, 是性能优化里比较重要的一个维度.具体来说就是测试方法操作执行的时间损耗,可能是同步 也可能是异步的.测试的方法大概有如 ...

  9. react第八单元(什么是纯函数-组件的性能优化-pureComponent-组件性能优化的原理)

    课程目标 理解纯函数 熟练掌握组件性能优化的几种技巧 pureComponent和Component的区别 #知识点 一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数 ...

随机推荐

  1. iOS -初识UIKit

    UIKit框架:UI界面上每一个元素都是一个对象 一张图片是UIimageView对象 一段文字是一个UILabei对象 一个按钮是一个UIButton对象 搭建UI界面的步骤 利用类创建对象 将对象 ...

  2. intent参数的回传

    1. public class MainActivity extends Activity { private EditText editText1, editText2, editText3; pr ...

  3. java selenium (四) 使用浏览器调试工具

    在基于UI元素的自动化测试中, 无论是桌面的UI自动化测试,还是Web的UI自动化测试.   首先我们需要查找和识别UI元素. 在基于Web UI 自动化测试中, 测试人员需要了解HTML, CSS和 ...

  4. 利用flash精确定位asp.net的图像热点区域

    Asp.net的热点区域控件非常有用,但是对于热点区域如何精确定位,设定矩形,圆和多边形要素点的位置,用flash能够精确定位,在flash中制作热点区域的部分,可以是矩形,图形或者文字,然后对于这部 ...

  5. Android系统的架构

    android的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层. 1.应用程序 Andr ...

  6. RP4412开发板在Android系统编译生成ramdisk-uboot.img

    荣品RP4412开发板在android系统编译的时候,怎么生成ramdisk-uboot.img生成流程分析: mkimage -A arm -O linux -T ramdisk -C none - ...

  7. CentOS搭建VPN

    安装ppp #yum install ppp 安装pptpd 配置软件源,修改/etc/yum.repos.d/Doylenet.repo,如果系统没有该文件则创建 #vim /etc/yum.rep ...

  8. 洛谷 1004 dp或最大费用流

    思路: dp方法: 设dp[i][j][k][l]为两条没有交叉的路径分别走到(i,j)和(k,l)处最大价值. 则转移方程为 dp[i][j][k][l]=max(dp[i-1][j][k-1][l ...

  9. 满足NABC的软件创意

    创意——几个简单的想法 ——崔海营 创意一:               大学生自行车租借一点通 随着大学生人数的不断增多以及大学生活的空闲时间十分充裕,许多同学十分乐意到一些附近的景点去游玩或者烧烤 ...

  10. (BFS)aoj0558-Cheese

    题目地址 根据题意,必须按从1吃到n的顺序.建立vi数组记录去没去过某一点,从起点向四周搜索,合法且未去过就入队列.每当找到符合此时应吃的位置,就将这个位置改为'.'并刷新vi数组,清空队列(因为必须 ...