Heim > Datenbank > MySQL-Tutorial > Hauptteil

sqlserver2008对字符串日期字段分区

WBOY
Freigeben: 2016-06-07 15:59:11
Original
1622 Leute haben es durchsucht

最近对公司产品的日志数据库做了一个数据分区,数据库使用的是sql server 2008,这里给大家提供一个参考。 需要特别说明的是,很多网上的例子分区字段都使用的是时间类型的,而这里由于时间字段原来设计数据库使用的是字符串类型的。所以这里的分区字段使用的

最近对公司产品的日志数据库做了一个数据分区,数据库使用的是sql server 2008,这里给大家提供一个参考。

需要特别说明的是,很多网上的例子分区字段都使用的是时间类型的,而这里由于时间字段原来设计数据库使用的是字符串类型的。所以这里的分区字段使用的是字符串类型的,进过我的测试,也能成功。

1:建立分区组:建立了十个分区组
go
alter database M2
add filegroup [FG1];
go
alter database M2
add filegroup [FG2];
go
alter database M2
add filegroup [FG3];
go
alter database M2
add filegroup [FG4];
go
alter database M2
add filegroup [FG5];
go
alter database M2
add filegroup [FG6];
go
alter database M2
add filegroup [FG7];
go
alter database M2
add filegroup [FG8];
go
alter database M2
add filegroup [FG9];

go
Nach dem Login kopieren

2:为分区组指定分区文件,我把分区文件放到不同的盘符下面,这样读取文件就会更快,可以并行的读取文件。这个也是分区能够提高效率的原理。

alter database M2
addfile(name=FG1_data,filename='c:\esafenet\FG1_data.ndf',size=10MB) tofilegroup[FG1];
alter database M2
addfile(name=FG2_data,filename='c:\esafenet\FG2_data.ndf',size=10MB) tofilegroup[FG2];
alter database M2
addfile(name=FG3_data,filename='d:\esafenet\FG3_data.ndf',size=10MB) tofilegroup[FG3];
alter database M2
addfile(name=FG4_data,filename='d:\esafenet\FG4_data.ndf',size=10MB) tofilegroup[FG4];
alter database M2
addfile(name=FG5_data,filename='e:\esafenet\FG5_data.ndf',size=10MB) tofilegroup[FG5];
alter database M2
addfile(name=FG6_data,filename='d:\esafenet\FG6_data.ndf',size=10MB) tofilegroup[FG6];
alter database M2
addfile(name=FG7_data,filename='f:\esafenet\FG7_data.ndf',size=10MB) tofilegroup[FG7];
alter database M2
addfile(name=FG8_data,filename='f:\esafenet\FG8_data.ndf',size=10MB) tofilegroup[FG8];
alter database M2
addfile(name=FG9_data,filename='c:\esafenet\FG9_data.ndf',size=10MB) tofilegroup[FG9];
go
Nach dem Login kopieren

3:建立分区函数,这个需要和分区组表匹配

Create partitionfunction
Part_mediasec_func(nvarchar(30))as
range left
for values('2013123123:59:59',
           '20141231 23:59:59',
           '20151231 23:59:59',
           '20161231 23:59:59',
           '20171231 23:59:59',
           '20181231 23:59:59',
           '20191231 23:59:59',
           '20201231 23:59:59',
           '20211231 23:59:59');
go
Nach dem Login kopieren

3:建立分区结构,将分区函数和分区组对应起来

Create partitionscheme Part_mediasec_scheme
as partitionPart_mediasec_func
to([FG1],[FG2],[FG3],[FG4],[FG5],[FG6],[FG7],[FG8],[FG9],[Primary]);
go
Nach dem Login kopieren

4:建立分区索引

EXEC sp_helpindexN'SecureUsbLog' --查看原来索引
alter tableSecureUsbLog drop constraint PK__SecureUs__7839F64D1F98B2C1
go
create clusteredindex SecureUsbLog_index
onSecureUsbLog(logTime)
onPart_mediasec_scheme(logTime);
Go
Nach dem Login kopieren

这次分区的特点有两个:

1:对已经使用的数据库进行分区,网上大多数例子是新建的分区和数据库。

2:对字符串类型日期进行分区。

这两点还是很有参考价值的。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!