iT邦幫忙

DAY 30
3

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

Day30_Partition06PartitionTable搭配Switch新增資料

  • 分享至 

  • xImage
  •  

Day29_Partition05PartitionTable新增資料效能測試有提到使用PartitionTable會降低新增資料的效能(刪除與更新也會),而在Day28_Partition04PartitionTable搭配Switch刪除資料有示範如何搭配Switch刪除資料,而本篇則要示範在搭配Switch可以新增資料,處理PartitionTable新增資料效能低落的問題。
1.建立測試的Table,一個為PartitionTable,一個是非PartitionTable,要放置轉入資料的Table

--1.建立測試的Table,一個為PartitionTable,一個是非PartitionTable,要放置轉入資料的Table
IF OBJECT_ID('InsertTable') IS NOT NULL
BEGIN DROP TABLE InsertTable END

CREATE TABLE InsertTable
(
ChineseYM INT ,
tName varchar(50) ,
tOther [varchar](30)
)
ON [PRIMARY];
GO

ALTER TABLE InsertTable
ADD CONSTRAINT [CK_ChineseYM] CHECK (ChineseYM >= 10008 AND [ChineseYM]  IS NOT NULL);
GO
ALTER TABLE [dbo].[InsertTable] CHECK CONSTRAINT [CK_ChineseYM]
GO

2.新增測試資料

--2.新增測試資料
INSERT INTO InsertTable
SELECT  * FROM  [TestTable]
WHERE ChineseYM=10008
GO 

3.檢查TABLE內容

--3.檢查TABLE內容
SELECT COUNT(*) FROM ArchivedTable
SELECT COUNT(*) FROM InsertTable

執行結果:

4.使用Switch轉入資料到PartitionTable

--4.使用Switch轉入資料到PartitionTable
ALTER TABLE InsertTable  SWITCH TO  ArchivedTable PARTITION 3; 
GO 

5.檢查TABLE內容

--5.檢查TABLE內容
SELECT COUNT(*) FROM ArchivedTable
SELECT COUNT(*) FROM InsertTable

執行結果:

結論:在PartitionTable使用一個新的Table並搭配Switch可以處理PartitionTable新增資料時造成效能低落的問題。


上一篇
Day29_Partition05PartitionTable新增資料效能測試。
系列文
SQL SERVER 2008效能監控與最佳化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言