Microsoft Soft SQL Server 大資料----分區表效能測試

來源:互聯網
上載者:User

標籤:技術分享   into   false   密碼   div   balance   lse   dom   tac   

分區表

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("開始寫入類比資料");            //多線程寫入            for (var i = 0; i < 20; 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> { "文員", "業務員", "開發人員", "客服員", "銷售經理" };            var statusItems = new List<int> { 1, 2, 3 };            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 = "123456",                    Salt = rand.Next(1111111, 6666666).ToString(),                    NickName = familyNameItems[rand.Next(0, familyNameItems.Count())]                    + firstNameItems[rand.Next(0, firstNameItems.Count())],                    IsFrozen = false,                    Position = positionItems[rand.Next(0, positionItems.Count())],                    Department = departmentItems[rand.Next(0, departmentItems.Count())],                    Status = statusItems[rand.Next(0, statusItems.Count())],                    Balance = rand.Next(10, 99999),                    CreateTime = DateTime.Now                };                items.Add(user);                //批量資料寫入,減少單條不斷調用串連池次數                if (items.Count < 2000)                    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 大資料----分區表效能測試

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.