久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何進行Sqlserver數據寫入表的測試

151次閱讀
沒有評論

共計 4520 個字符,預計需要花費 12 分鐘才能閱讀完成。

如何進行 Sqlserver 數據寫入表的測試,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

1、創建表:
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Table_3
(
id int NOT NULL,
company_id nvarchar(MAX) NULL,
number nvarchar(MAX) NULL,
code nvarchar(MAX) NULL,
input_tele bigint NULL,
type nvarchar(MAX) NULL
)  ON [PRIMARY]
TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE dbo.Table_3 SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

2、測試表插入
對表插入 200000 條記錄:
set nocount on
declare @i int
set @i = 0
while @i 200000
begin
insert into Table_3 values (@i, abcd , 123 , 234 , 345 , 567)
set @i = @i +1
end
go

耗時 3 分 11 秒。

dbcc showcontig(Table_3)
go
DBCC SHOWCONTIG 正在掃描 Table_3 表 …
表: Table_3 (370100359);索引 ID: 0,數據庫 ID: 5
已執行 TABLE 級別的掃描。
– 掃描頁數 …………………………..: 1482
– 掃描區數 …………………………: 188
– 區切換次數 …………………………: 187
– 每個區的平均頁數 ……………………: 7.9
– 掃描密度 [最佳計數: 實際計數]…….: 98.94% [186:188]
– 區掃描碎片 ………………: 1.60%
– 每頁的平均可用字節數 …………………: 403.7
– 平均頁密度(滿)…………………: 95.01%
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

未加索引表大小:

加索引后表大小:
dbcc showcontig(Table_3)
go

DBCC SHOWCONTIG 正在掃描 Table_3 表 …
表: Table_3 (386100416);索引 ID: 1,數據庫 ID: 5
已執行 TABLE 級別的掃描。
– 掃描頁數 …………………………..: 1087
– 掃描區數 …………………………: 136
– 區切換次數 …………………………: 135
– 每個區的平均頁數 ……………………: 8.0
– 掃描密度 [最佳計數: 實際計數]…….: 100.00% [136:136]
– 邏輯掃描碎片 ………………: 0.00%
– 區掃描碎片 ………………: 3.68%
– 每頁的平均可用字節數 …………………: 0.3
– 平均頁密度(滿)…………………: 100.00%
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

清空表數據。
修改表結構:
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_Table_3
(
id int NOT NULL,
company_id varchar(50) NULL,
number varchar(50) NULL,
code varchar(50) NULL,
input_tele bigint NULL,
type varchar(50) NULL
)  ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_Table_3 SET (LOCK_ESCALATION = TABLE)
GO
IF EXISTS(SELECT * FROM dbo.Table_3)
EXEC(INSERT INTO dbo.Tmp_Table_3 (id, company_id, number, code, input_tele, type)
SELECT id, CONVERT(varchar(50), company_id), CONVERT(varchar(50), number), CONVERT(varchar(50), code), input_tele, CONVERT(varchar(50), type) FROM dbo.Table_3 WITH (HOLDLOCK TABLOCKX) )
GO
DROP TABLE dbo.Table_3
GO
EXECUTE sp_rename N dbo.Tmp_Table_3 , N Table_3 , OBJECT  
GO
COMMIT

對表插入 200000 條記錄:
set nocount on
declare @i int
set @i = 0
while @i 200000
begin
insert into Table_3 values (@i, abcd , 123 , 234 , 345 , 567)
set @i = @i +1
end
go

耗時 3 分 07 秒。

dbcc showcontig(Table_3)
go

DBCC SHOWCONTIG 正在掃描 Table_3 表 …
表: Table_3 (386100416);索引 ID: 0,數據庫 ID: 5
已執行 TABLE 級別的掃描。
– 掃描頁數 …………………………..: 1143
– 掃描區數 …………………………: 145
– 區切換次數 …………………………: 144
– 每個區的平均頁數 ……………………: 7.9
– 掃描密度 [最佳計數: 實際計數]…….: 98.62% [143:145]
– 區掃描碎片 ………………: 2.07%
– 每頁的平均可用字節數 …………………: 397.0
– 平均頁密度(滿)…………………: 95.10%
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

truncate table Table_3 后:
dbcc showcontig(Table_3)
go

DBCC SHOWCONTIG 正在掃描 Table_3 表 …
表: Table_3 (386100416);索引 ID: 0,數據庫 ID: 5
已執行 TABLE 級別的掃描。
– 掃描頁數 …………………………..: 0
– 掃描區數 …………………………: 0
– 區切換次數 …………………………: 0
– 每個區的平均頁數 ……………………: 0.0
– 掃描密度 [最佳計數: 實際計數]…….: 100.00% [0:0]
– 區掃描碎片 ………………: 0.00%
– 每頁的平均可用字節數 …………………: 0.0
– 平均頁密度(滿)…………………: 0.00%
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

對表加索引:
對 id 字段加主鍵聚集索引:
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.Table_3 ADD CONSTRAINT
PK_Table_3 PRIMARY KEY CLUSTERED 
(
id
) WITH(STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO
ALTER TABLE dbo.Table_3 SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

對表插入 200000 條記錄:
set nocount on
declare @i int
set @i = 0
while @i 200000
begin
insert into Table_3 values (@i, abcd , 123 , 234 , 345 , 567)
set @i = @i +1
end
go

dbcc showcontig(Table_3)
go

DBCC SHOWCONTIG 正在掃描 Table_3 表 …
表: Table_3 (386100416);索引 ID: 1,數據庫 ID: 5
已執行 TABLE 級別的掃描。
– 掃描頁數 …………………………..: 1087
– 掃描區數 …………………………: 139
– 區切換次數 …………………………: 138
– 每個區的平均頁數 ……………………: 7.8
– 掃描密度 [最佳計數: 實際計數]…….: 97.84% [136:139]
– 邏輯掃描碎片 ………………: 0.55%
– 區掃描碎片 ………………: 2.16%
– 每頁的平均可用字節數 …………………: 0.3
– 平均頁密度(滿)…………………: 100.00%
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

先加索引后插入數據后表大小:

對于 20W 的數據量:
建好表,插入數據,再加索引。
建好表,建好索引,再插入數據。
感覺時間花費上差不多,空間消耗上也差不多。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計4520字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 辽宁省| 讷河市| 石家庄市| 二连浩特市| 富阳市| 南雄市| 梓潼县| 博白县| 乐至县| 吉木萨尔县| 外汇| 申扎县| 普宁市| 屏南县| 黄龙县| 郧西县| 城步| 邳州市| 武汉市| 景泰县| 横峰县| 龙里县| 龙胜| 卓尼县| 鄂温| 阳城县| 盐城市| 密山市| 昆明市| 娄底市| 博罗县| 栾川县| 惠安县| 锡林浩特市| 绍兴县| 吉隆县| 衡阳县| 浮山县| 曲麻莱县| 栖霞市| 廉江市|