SqlServer性能优化分割提升性能分布式视图(七)
分布式视图:
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性能优化分割提升性能分布式视图(七)的更多相关文章
- 性能优化——Web前端性能优化
核心知识点: 1.排查网站性能瓶颈的手法:分析各个环节的日志,找出异常部分 2.Web前端:网站业务逻辑之前的部分(浏览器.图片服务.CDN) 3.优化手段 1)浏览器优化 (1)减少http请求 a ...
- web性能优化-网络传输性能优化
浏览器工作原理:https://www.cnblogs.com/thonrt/p/10008220.html 浏览器渲染原理: https://www.cnblogs.com/thonrt/p/100 ...
- Android App性能优化笔记之一:性能优化是什么及为什么?
By Long Luo 周星驰的电影<功夫>里面借火云邪神之口说出了一句至理名言:“天下武功,唯快不破”. 在移动互联网时代,同样如此,留给一个公司的窗口往往只有很短的时间,如何把握住 ...
- 微擎开启性能优化里面的性能优化memcache内存优化及数据库读写分离
http://www.mitusky.com/forum.php?mod=viewthread&tid=3135 [微擎 安装使用] 微擎开启性能优化里面的性能优化memcache内存优化及数 ...
- Java 架构师+高并发+性能优化+Spring boot大型分布式项目实战
视频课程内容包含: 高级 Java 架构师包含:Spring boot.Spring cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat.Spring.MongoDB.Zer ...
- Android app 性能优化的思考--性能卡顿不好的原因在哪?
说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才 ...
- 2018/09/17《涂抹MySQL》【性能优化及诊断】学习笔记(七)
读 第十三章<MySQL的性能优化与诊断> 总结 一说性能优化,整个人都像被打了鸡血一样
- iOS 性能优化之业务性能监控
业务性能监控, 在人工的在业务的开始和结束处打点上报,然后后台统计达到监控目的, 是性能优化里比较重要的一个维度.具体来说就是测试方法操作执行的时间损耗,可能是同步 也可能是异步的.测试的方法大概有如 ...
- react第八单元(什么是纯函数-组件的性能优化-pureComponent-组件性能优化的原理)
课程目标 理解纯函数 熟练掌握组件性能优化的几种技巧 pureComponent和Component的区别 #知识点 一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数 ...
随机推荐
- angularJS 2.0 开发的简单dome
与其说这是一个demo,不如说是一个与高手的讨教过程.虽然demo出来了,可其中有些问题我还是不太明白,如果有angularjs2.0的大神,请进来指导一番,~~~~~不甚感激. 说明第一点:我采用的 ...
- POJ 3087 Shuffle'm Up
Shuffle'm Up Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- 通过JDBK操作数据库
一.配置程序--让我们程序能找到数据库的驱动jar包1.把.jar文件复制到项目中去,整合的时候方便.2.在eclipse项目右击"构建路径"--"配置构建路径" ...
- bzoj 3530: [Sdoi2014]数数
#include<cstdio> #include<iostream> #include<cstring> #define M 1509 #define MO 10 ...
- vs2012 error c4996: This function or variable may be unsafe
编译lua源码时,使用vs2012,遇到如下错误. 1>------ 已启动生成: 项目: 20130925, 配置: Debug Win32 ------ 1> stdafx.cpp ...
- Nand Flash,Nor Flash,CFI Flash,SPI Flash 之间的关系
前言: 在嵌入式开发中,如uboot的移植,kernel的移植都需要对Flash 有基本的了解.下面细说一下标题中的中Flash中的关系 一,Flash的内存存储结构 flash按照内部存 ...
- eclipse 启动失败(找不到jvm)
今天启动eclipse时提示了一个错误 在网上找到的解决方法是在eclipse的快捷方式中加入Java的JVM的路径,方法如下: 右键eclipse快捷方式 ->属性 在目标中 如果只有 D: ...
- 讨论SEO中是锚文本有效,还是纯文本有效呢?
现在很多SEO好友不断在讨论,在SEO优化中,到底是锚文本有效,还是纯文本有效呢? 在这里给大家举一下列子:如“张家口人才网”这样的就叫做锚文本,意思是在原有的文本中加上超级链接,指向到优化的网页上面 ...
- JQuery 判断不同浏览器
if($.browser.msie) { //IE浏览器alert("this is msie"); } else if($.browser.safari) ...
- 杭电ACM1005
Number Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...