数据库分区(2017-8-7)
来源:互联网 发布:hbase删除数据 编辑:程序博客网 时间:2024/06/13 13:35
--添加文件组ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2017_8]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2017_9]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2017_10]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2017_11]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2017_12]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2018_1]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2018_2]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2018_3]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2018_4]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2018_5]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2018_6]ALTER DATABASE KJ70N ADD FILEGROUP [HistoryPowerData_2018_7]--添加文件和文件组ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2017_8', FILENAME='E:\data\HistoryPowerData_2017_8.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2017_8ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2017_9', FILENAME='E:\data\HistoryPowerData_2017_9.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2017_9ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2017_10', FILENAME='E:\data\HistoryPowerData_2017_10.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2017_10ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2017_11', FILENAME='E:\data\HistoryPowerData_2017_11.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2017_11ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2017_12', FILENAME='E:\data\HistoryPowerData_2017_12.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2017_12ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2018_1', FILENAME='E:\data\HistoryPowerData_2018_1.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2018_1ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2018_2', FILENAME='E:\data\HistoryPowerData_2018_2.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2018_2ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2018_3', FILENAME='E:\data\HistoryPowerData_2018_3.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2018_3ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2018_4', FILENAME='E:\data\HistoryPowerData_2018_4.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2018_4ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2018_5', FILENAME='E:\data\HistoryPowerData_2018_5.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2018_5ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2018_6', FILENAME='E:\data\HistoryPowerData_2018_6.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2018_6ALTER DATABASE KJ70N ADD FILE(NAME=N'HistoryPowerData_2018_7', FILENAME='E:\data\HistoryPowerData_2018_7.NDF', SIZE=5MB, FILEGROWTH=10MB)TO FILEGROUP HistoryPowerData_2018_7GO--创建分区函数CREATE PARTITION FUNCTION HistoryPowerData_Partition_Fun (datetime) AS RANGE RIGHT FOR VALUES('2017-9-1 00:00:00','2017-10-1 00:00:00','2017-11-1 00:00:00','2017-12-1 00:00:00','2018-1-1 00:00:00','2018-2-1 00:00:00','2018-3-1 00:00:00','2018-4-1 00:00:00','2018-5-1 00:00:00','2018-6-1 00:00:00','2018-7-1 00:00:00') GO--创建分区方案CREATE PARTITION SCHEME HistoryPowerData_Partition AS PARTITION HistoryPowerData_Partition_Fun TO ( HistoryPowerData_2017_8, HistoryPowerData_2017_9, HistoryPowerData_2017_10, HistoryPowerData_2017_11, HistoryPowerData_2017_12, HistoryPowerData_2018_1, HistoryPowerData_2018_2, HistoryPowerData_2018_3, HistoryPowerData_2018_4, HistoryPowerData_2018_5, HistoryPowerData_2018_6, HistoryPowerData_2018_7 );GO--创建表CREATE TABLE [dbo].[HistoryPowerData] ( [ID]Nvarchar(20)NOT NULL,[Time]DateTimeNOT NULL,[State]smallintNOT NULL, [IV1]FLOAT (53) NOT NULL, [IA1]FLOAT (53) NOT NULL, [IV2]FLOAT (53) NOT NULL, [IA2]FLOAT (53) NOT NULL, [IV3]FLOAT (53) NOT NULL, [IA3]FLOAT (53) NOT NULL, [V]FLOAT (53) NOT NULL, [Temperature]FLOAT (53) NOT NULL, [Quantity]FLOAT (53) NOT NULL, [DcorAC] smallintNOT NULL,)ON HistoryPowerData_Partition([Time]);GO--创建聚簇索引CREATE CLUSTERED INDEX [HistoryPowerData_CLUSTER_Index] ON [dbo].[HistoryPowerData]([ID] ASC, [Time] ASC)On HistoryPowerData_Partition([Time]);GO
测试代码:
using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Database_Partition_Test{ class Program { public static void Database_Partition_Test(String connStr, DataTable dt, String TableName) { using (SqlConnection conn = new SqlConnection(connStr)) { using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connStr, SqlBulkCopyOptions.UseInternalTransaction)) { try { sqlbulkcopy.BulkCopyTimeout = 60; sqlbulkcopy.DestinationTableName = TableName; //目标表名 for (int i = 0; i < dt.Columns.Count; i++) //列名添加映射 { sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName); } sqlbulkcopy.WriteToServer(dt); } catch (System.Exception ex) { throw ex; } } } } static void Main(string[] args) { string connStr = "server=172.16.19.192;database=KJ70N;uid=sa;pwd=sa"; DataTable dt = new DataTable(); dt.Columns.Add("ID", Type.GetType("System.String")); dt.Columns.Add("Time", Type.GetType("System.DateTime")); dt.Columns.Add("State", Type.GetType("System.UInt16")); dt.Columns.Add("IV1", Type.GetType("System.Single")); dt.Columns.Add("IA1", Type.GetType("System.Single")); dt.Columns.Add("IV2", Type.GetType("System.Single")); dt.Columns.Add("IA2", Type.GetType("System.Single")); dt.Columns.Add("IV3", Type.GetType("System.Single")); dt.Columns.Add("IA3", Type.GetType("System.Single")); dt.Columns.Add("V", Type.GetType("System.Single")); dt.Columns.Add("Temperature", Type.GetType("System.Single")); dt.Columns.Add("Quantity", Type.GetType("System.Single")); dt.Columns.Add("DcorAC", Type.GetType("System.UInt16")); DateTime now = DateTime.Now; for (long i = 1; i < 200000; ++i) { DataRow dr = dt.NewRow(); dr["State"] = 1; dr["IV1"] = 1.0; dr["IA1"] = 1.0; dr["IV2"] = 1.0; dr["IA2"] = 1.0; dr["IV3"] = 1.0; dr["IA3"] = 1.0; dr["V"] = 1.0; dr["Temperature"] = 1.0; dr["Quantity"] = 1.0; dr["DcorAC"] = 1; dr["ID"] = i.ToString(); dr["Time"] = now.AddDays(i); dt.Rows.Add(dr.ItemArray); } DateTime t = DateTime.Now; Database_Partition_Test(connStr, dt, "HistoryIntelligentPower"); Console.WriteLine(DateTime.Now - t); Console.ReadKey(); } }}
阅读全文
1 0
- 数据库分区(2017-8-7)
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区
- 数据库分区及分区优点
- 数据库 数据库分区
- ASP 标题多字符超出改为...
- sql报错:查询块具有不正确的结果列数
- CLR via C# 阅读笔记1
- 最小生成树-Prim算法和Kruskal算法
- LeetCode: 26. Remove Duplicates from Sorted Array
- 数据库分区(2017-8-7)
- c/c++多级指针与“多维”数组
- RHEL Linux6.5系统配置本地yum源的几种方式
- C#中实现动态隐藏/显示RDLC报表的表头(列)
- (8)Math对象、Global对象(进制转换)
- 如何用Java和jsp获取服务器ip
- linux找不到动态链接库 .so文件的解决方法
- oracle闪回功能详解(oracle独有的flashback功能)
- URAL 2080 Wallet 分块求无修改的区间内不同数的个数