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 ...
随机推荐
- Dapper一个和petapoco差不多的轻量级ORM框架
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dapper,而且被称为th ...
- 初识 .net core和vs code
定义:什么是.net core? .net core是一个跨各个不同操作系统运行的平台.时至今日,windows上.net framework已经发展成熟,可以用来开发windows平台下的几乎所有应 ...
- jqgrid 单元格引入时间datepicker控件
简述原理:引入jquery-ui插件,设置好表格所需的字段变量以及字段属性1.设置colName与colModel colNames: ['过期时间''] colModel:[{ name ...
- .NET Core开源API网关 – Ocelot中文文档
Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.请求聚合.服务发现.认证.鉴权.限流熔断.并内置了负载均衡器与Service Fabric.Butterfly ...
- Qt 创建一个QtDesinger第三方控件
1.需要创建一个合适的.pro文件 2.创建一个继承QDesignerCustomWidgetInterface的类,描述控件的一些属性. 函数 描述和返回值 name() 指定控件的名称 group ...
- CentOS6和CentOS7安装jumpserver
1.1 jumpserver安装 同步时间:ntpdate ntp1.aliyun.com 关闭selinux 关闭防火墙 系统字体修改成英文 1.1.1 安装依赖(前提需要epel源) yum in ...
- Python的Argparse模块是什么?(未完)
近日在阅读代码的过程中遇到了Argparse模块,记得前段时间已经看了,可是过了两周现在又忘了, 看来写代码一定要钻研到底搞清楚其中原委才行,本文主要参考Python3.6系列官方文档 ...
- Spring shiro 初次使用小结
首先引入一段关于shiro的介绍: 开发系统中,少不了权限,目前java里的权限框架有SpringSecurity和Shiro(以前叫做jsecurity),对于SpringSecurity:功能太过 ...
- 笔记:Jersey REST API 设计
REST 统一接口 REST 使用 HTTP 协议的通用方法作为统一接口的标准词汇,REST 服务所提供的方法信息都在 HTTP 方法里,每一种HTTP请求方法都可以从安全性和幂等性两方面考虑,这对正 ...
- 笔记:MyBatis 使用 Java API配置
我们已经讨论了各种MyBatis配置元素,如envronments.typeAlias和typeHandlers,以及如何使用XML配置它们.即使你想使用基于JavaAPI的MyBatis配置,MyB ...