SQLServer性能优化之---水平分库扩展
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql
第一次引入文件组的概念:http://www.cnblogs.com/dunitian/p/5276431.html
上次说了其他的解决方案(http://www.cnblogs.com/dunitian/p/6041745.html),就是没有说水平分库,这次好好说下。
上次共享的第一份大数据,这次正好来演示一下水平分库
1.模拟部分数据
2.创建索引后,发现可以根据日期来分组
按数据量大致分一下
步入正轨
---------------------------------------------------------------------
GUI方法:
3.0创建文件组
添加文件到文件组
命令操作:
alter database BigData_TestInfo_PartialData add filegroup Info
alter database BigData_TestInfo_PartialData add file(name=N'TestInfo2006',filename=N'G:\SQLData\BigData_TestInfo2006.ndf') to filegroup Info
注意:BigData_TestInfo2006.ndf是数据库自己创建的,不需要自己手动创建(有些同志手动创建了,然后报错。。。。呃,有点哭笑不得了)
查询看看:select * from sys.filegroups
水平分区走起:一般就几步,1.创建分区函数 2.创建分区方案 3.创建分区表
GUI方法
分区函数
分区方案
上一张图有些人可能不懂,用PPT画张概念图:
创建脚本
系统生成脚本:
命令方式创建(根据上面生成的命令逆推)
创建分区函数和架构(方案)
create partition function CreatedatePartitionFun(varchar(10)) as range right for values(N'2006-01-01', N'2007-01-01', N'2009-01-01', N'2012-01-01')
create partition scheme CreatedatePartitionScheme as partition [CreatedatePartitionFun] TO ([Info], [Info], [Info], [Info], [primary])
创建分区表
尚未创建表的情况
已经创建了表(基本上都是这种情况)
主要就两步,把主键变为非聚集索引+创建分区聚集索引
alter table Info drop constraint PK__Info__3214EC064B338648
alter table Info add constraint PK_Info_Id primary key nonclustered (Id asc)
create clustered index IX_Info_CreateDate on Info(CreateDate) on CreatedatePartitionScheme(CreateDate)
测试:基本上是均匀分散在各个文件中,生产环境的时候可以把这些文件放各个磁盘
最新文章
- VTK的学习资源
- block 页面传值小结
- Java中如何解决double和float精度不准的问题
- 1644 免费馅饼 题解(c++)(S.B.S.)
- yii2 debug工具条不出现
- [示例]NSDictionary编程题-字典的排序应用(iOS5班)
- GCD信号量并发控制
- Windows python 安装 nNumpy、Scipy、matplotlib模块
- c#读写cookie
- Missing artifact com.oracle:ojdbc14:jar:10.2.0.3.0
- vim汇总
- [MySQL]join的细节
- IDEA中更改Tomcat服务器的URL
- Ubuntu(虚拟机)下安装Qt5.5.1
- SAP 000 客户端初始登录
- Word Ladder leetcode java
- geoserver 地图性能和缓存
- HDU1143 (递推)题解
- 继续修改爬虫百度贴吧,这次随意贴吧的任何一个index页都行,然后自动d盘生成tupian文件夹来保存
- mysql--------命令来操作表
热门文章
- linux中~和/区别
- 让opencv输出人脸检测的得分(置信率)
- BZOJ4917: [Lydsy1706月赛]Hash Killer IV(模拟)
- UVALive 5135 Mining Your Own Bussiness【tarjan点双】
- HDU 4764:Stone(巴什博弈)
- 复利计算5.0(改成Java版本)与 单元测试
- C#多线程应用:子线程更新主窗体控件的值(二)
- 解决Apache下生成静态页面乱码的问题
- Phonegap Android 项目使用Cordova
- laravel 控制器中使用 try catch