iT邦幫忙

DAY 29
7

SQL SERVER 2008效能監控與最佳化系列 第 29

Day29_Partition05PartitionTable新增資料效能測試。

在上一篇Day28_Partition04PartitionTable搭配Switch刪除資料有提到在PartitionTable刪除資料的方法,而這篇測試主要是測試PartitionTable對於資料異動(Insert)時所帶來的影響。
1.建立測試的Table,一個為PartitionTable,一個是非PartitionTable

--1.建立測試的Table,一個為PartitionTable,一個是非PartitionTable
IF OBJECT_ID('ArchivedTable') IS NOT NULL
BEGIN
   DROP TABLE ArchivedTable
END

CREATE TABLE [dbo].[ArchivedTable](
	[ChineseYM] [int]  ,
	[tName] [varchar](50) ,
	[tOther] [varchar](30)
) ON ChineseYearScheme (ChineseYM);

IF OBJECT_ID('NonPartitionTable') IS NOT NULL
BEGIN
   DROP TABLE NonPartitionTable
END

CREATE TABLE [dbo].[NonPartitionTable](
	[ChineseYM] [int]  ,
	[tName] [varchar](50) ,
	[tOther] [varchar](30)
) ON [PRIMARY];

2.測試新增資料時的效能
2.1測試一般Table新增資料時的效能。

--2.測試新增資料時的效能

INSERT INTO NonPartitionTable
SELECT  * FROM  [TestTable]
GO 

執行結果:花費1分09秒

2.2測試PartitionTable新增資料時的效能。

INSERT INTO ArchivedTable
SELECT  * FROM  [TestTable]
GO

執行結果:花費2分59秒

結果比較:

結論:PartitionTable降低了Insert的效能,因為在新增資料時多了判斷資料要歸類到哪一個Partition,所以造成效能上的低落,這是很多人共有的問題。使用Switch可以解決Insert的效能問題,下一篇我將為大家示範如何解決。


上一篇
Day28_Partition04PartitionTable搭配Switch刪除資料
下一篇
Day30_Partition06PartitionTable搭配Switch新增資料
系列文
SQL SERVER 2008效能監控與最佳化30

尚未有邦友留言

立即登入留言