Microsoft Soft SQL Server 大数据----分区表性能测试
分区表
MSSQL有一个大数据储存方案,可以提高效率那就是分区表。
使用起来跟普通表没有区别。至于具体原理自己度娘吧。
真正性能的提高,是依赖于硬件的加入。也是就说,当把一个表设置成分区表,每一个分区,应该储放在不同的硬盘的。
如果分区表使用的是同一块硬盘,那么性能是不会有提高。
组装电脑
本身案例,将使用三块硬盘储存,将一个表设三个分区。
好啦,吃饱就开始干活啦,先组装好电脑,为了三块硬盘,我将其它二台电脑,我把它们。。。

好了,开始装系统,Windows为了方便,我还是装GUI的系统吧。

成功安装windosw server 2008 r2 datacenter 版之后,再安装mssql 2008 r2

添加模拟数据
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Dapper;
using System.Data.SqlClient;
using System.Data;
using System.Threading.Tasks;
namespace Write
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("开始写入模拟数据");
//多线程写入
; i < ; i++)
{
Task.Run((Action)Add);
}
Console.ReadKey();
}
public static void Add()
{
var rand = new Random();
StringBuilder str1 = new StringBuilder();
str1.Append("赵、钱、孙、李、周、吴、郑、王、冯、陈、楮、卫、蒋、沈、韩、杨、朱、秦、尤、许、何、吕、施、张、孔、曹");
var familyNameItems = str1.ToString().Split("、");
StringBuilder str2 = new StringBuilder();
str2.Append("宏子 婷婷 蓉蓉 丽娜 娜 钰 天霞 官君 红梅 淑慧 海娟 洪山 ");
str2.Append("盼丽 艳红 甜甜 璨 彬彬 银红 晨曦 婷 广荣 蓓 小艳 欣如 辅仁 嘉 雯婷 玉红 晨霞 ");
str2.Append("涵 明 丽娜 青 茵 瑞微 逸群 思阳 臻 勇 志光 克涛 靖华 慧霞 卫伟 藜文 清华 莎 晓新 ");
str2.Append("安安 荌荌 安卉 安娜 安妮 安然 傲冬 傲晴 傲雪 白雪 白云 碧螺 碧菡 碧玉 冰蓝 ");
str2.Append("含烟 含玉 涵菡 晗蕾 涵韵 晗玥 寒凝 寒香 寒雁 和悌 和美 和怡 和雅 和璧 和玉 ");
str2.Append("红螺 虹雨 虹彩 虹英 虹颖 虹影 怀玉 慧心 慧颖 慧雅 慕青 问兰 尔岚 元香 曼文");
var firstNameItems = str2.ToString().Split(" ");
var departmentItems = new List<string> { "事业部", "文化部", "技术部", "客服部", "运营部" };
var positionItems = new List<string> { "文员", "业务员", "开发人员", "客服员", "销售经理" };
, , };
IDbConnection connection = new SqlConnection("Data Source=192.168.99.5;Initial Catalog=Test;User Id=sa;Password=123;");
var items = new List<OAUser>();
while (true)
{
var user = new OAUser
{
UserName = $"15{rand.Next(100000000, 999999999).ToString()}",
PassWord = ",
Salt = rand.Next(, ).ToString(),
NickName = familyNameItems[rand.Next(, familyNameItems.Count())]
+ firstNameItems[rand.Next(, firstNameItems.Count())],
IsFrozen = false,
Position = positionItems[rand.Next(, positionItems.Count())],
Department = departmentItems[rand.Next(, departmentItems.Count())],
Status = statusItems[rand.Next(, statusItems.Count())],
Balance = rand.Next(, ),
CreateTime = DateTime.Now
};
items.Add(user);
//批量数据写入,减少单条不断调用连接池次数
)
continue;
StringBuilder strSql = new StringBuilder();
strSql.Append("INSERT INTO [Test].[dbo].[OAUser]([Balance],[CreateTime],[Department],[IsFrozen] ,[NickName],[PassWord],[Position],[Salt],[Status] ,[UserName])");
strSql.Append(" VALUES (@Balance,@CreateTime,@Department,@IsFrozen,@NickName,@PassWord,@Position,@Salt,@Status,@UserName)");
connection.Execute(strSql.ToString(), items);
Console.WriteLine($"成功将用户{items.Count}资料写入");
items.Clear();
}
}
}
/// <summary>
/// 用户表
/// </summary>
public class OAUser
{
/// <summary>
/// 主健
/// </summary>
public int Id { set; get; }
/// <summary>
/// 用户账号
/// </summary>
public string UserName { set; get; }
/// <summary>
/// 用户密码
/// </summary>
public string PassWord { set; get; }
/// <summary>
/// 昵称
/// </summary>
public string NickName { get; set; }
/// <summary>
/// 加密盐
/// </summary>
public string Salt { set; get; }
/// <summary>
/// 是否冻结
/// </summary>
public bool IsFrozen { set; get; }
/// <summary>
/// 余额
/// </summary>
public decimal Balance { set; get; }
/// <summary>
/// 部门
/// </summary>
public string Department { set; get; }
/// <summary>
/// 职位
/// </summary>
public string Position { set; get; }
/// <summary>
/// 状态(1在职 2离职 3兼职)
/// </summary>
public int Status { set; get; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { set; get; }
}
}

速度还不错,达 7.2M/s 快接近我的网线最高速度了,我们是百M网卡,最高也是10M/S 左右
普通表性能查询
哎,先写到这里吧,拖了两个星期,也没空,或没心情往下面写,先搁着吧,往后再补上了
Microsoft Soft SQL Server 大数据----分区表性能测试的更多相关文章
- SQL Server 大数据搬迁之文件组备份还原实战
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...
- C# & SQL Server大数据量插入方式对比
以下内容大部分来自: http://blog.csdn.net/tjvictor/article/details/4360030 部分内容出自互联网,实验结果为亲测. 最近自己开发一个向数据库中插入大 ...
- [转]Sql server 大数据量分页存储过程效率测试附代码
本文转自:http://www.cnblogs.com/lli0077/archive/2008/09/03/1282862.html 在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下 ...
- SQL Server 大数据量insert into xx select慢的解决方案
最近项目有个需求,把一张表中的数据根据一定条件增删改到另外一张表.按理说这是个很简单的SQL.可是在实际过程中却出现了超级长时间的执行过程. 后来经过排查发现是大数据量insert into xx s ...
- SQL Server 大数据量分页建议方案
简单的说就是这个 select top(20) * from( select *, rowid = row_number() over(order by xxx) from tb with(noloc ...
- sql server 大数据, 统计分组查询,数据量比较大计算每秒钟执行数据执行次数
-- 数据量比较大的情况,统计十分钟内每秒钟执行次数 ); -- 开始时间 ); -- 结束时间 declare @num int; -- 结束时间 set @begintime = '2019-08 ...
- sql server 大数据跨服务器迁移表数据——使用链接服务器
1.创建链接服务器(填写链接服务器.远程登录.使用密码) 2.188.188.1.177是远程的 select count(*) from [188.188.1.177].BigDataAnalysi ...
- SQL SERVER大数据分页
select * from (select rownum r, a.* from (select * from table_name order by ndatetime desc ) a wher ...
- SQL Server 大数据量批量插入
private void AddShuJu_Click(object sender, RoutedEventArgs e) { Stopwatch wath = new Stopwatch(); wa ...
随机推荐
- ajax 上传文件
最近做公司官网,需要用到上传文件功能,由于是用JQ写的,用到了input标签 的type=file 属性,然后利用表单提交方式上传,代码如下: $('#upload_video').change(fu ...
- 关于AJAX异步请求的那些事儿(2)
1.使用AJAX发起GET请求消息 xhr.open("GET","XX.PHP?K1=V1$K2=V2",true); xhr.send(null); 2.使 ...
- Java Web day01
1.配置环境 Eclipse版本:Mars.2 Release (4.5.2) jdk版本: 配置Eclipse (1)更改编码 工作空间 jsp页面编码 (2)更改背景颜色及字体大小 (3)安装jr ...
- css学习の第五弹—单位和值
一. >>1.颜色表示方法总结: 1.英文命令颜色 前面几个小节中经常用到的就是这种设置方法: p{color:red;} 2.RGB颜色 这个与 photoshop 中的 RGB 颜色是 ...
- 防F12审查元素扒代码:按下F12关闭当前页面
有的时候我看别人的网站的某个部分做的比较好我都会通过按F12审查元素来查看别人的代码,那么如果不然别人查看自己网站的代码呢.一段JavaScript代码即可实现上述功能,插入到footer.php或者 ...
- [POJ 3764] The xor-longest Path
Description 多组数据 给你一颗树, 然后求一条最长异或路径, 异或路径长度定义为两点间简单路径上所有边权的异或和. Solution 首先 dfs 一遍,求出所有的点到根节点(随便选一个) ...
- 前端的UI设计与交互之数据录入篇
数据录入是获取对象信息的重要交互方式,用户会频繁的增加.修改或删除信息.多种多样的文本录入和选择录入方式帮助用户更加清晰和高效的完成这项体验.设计者应当注意这几点:为初级用户/偶尔访问的用户提供简单易 ...
- 怎样把Linux的私钥文件id_rsa转换成putty的ppk格式
在Linux VPS下产生的私钥文件putty是不认识的,putty只认识自己的ppk格式,要在这两种格式之间转换,需要PuTTYgen这个程序. puttygen是putty的配套程序,putty的 ...
- java排序算法(十):桶式排序
java排序算法(十):桶式排序 桶式排序不再是一种基于比较的排序方法,它是一种比较巧妙的排序方式,但这种排序方式需要待排序的序列满足以下两个特征: 待排序列所有的值处于一个可枚举的范围之类: 待排序 ...
- Oracle查询优化改写--------------------单表查询
一.查询表中所有的行与列 二.从表中检索部分行 三.查找空值 四.将空值转化为实际值(coalesce) 五.查找满足多个条件的行(查询部门为10中所有的员工.所有得到提成的员工,以及部门20中工资不 ...