如何进行Sqlserver数据写入表的测试

技术如何进行Sqlserver数据写入表的测试如何进行Sqlserver数据写入表的测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、创

许多新手不太清楚如何测试如何将Sqlserver数据写入表中。为了帮助大家解决这个问题,下面小编就详细讲解一下。需要的人可以从中学习,希望你能有所收获。

1.创建表格:

开始交易

将带引号的标识符设置为开

开启算术端口

将数值_舍入中止设置为关闭

设置串联空产量空开

将ANSI_NULLS设置为开

将ANSI_PADDING设置为开

设置ANSI _警告开启

犯罪

开始交易

创建表dbo。表3

不为空,

公司id nvarchar(MAX)空,

数值最大值为空,

代码nvarchar(MAX)空,

input_tele bigint NULL,

类型nvarchar(最大值)空

)开[主要]

文本图像开启[主要]

ALTER TABLE dbo。表3设置(锁定升级=表)

犯罪

2.测试表插入

在表中插入200000条记录:

设置nocount on

声明@i int

设置@i=0

而@i 200000

开始

插入Table_3值(@i、‘ABCD’、‘123’、‘234’、‘345’、‘567’)

设置@i=@i 1

目标

用了3分11秒。

显示重叠('表3 ')

DBCC正在扫描'表3 '表.

表: ' : ' Table _ 3 '(370100359););索引ID: 0,数据库ID: 5

已执行表级扫描。

-....扫描页数: 1482

-扫描区域的数量.... 188

-地区转换数量.... 187

-每个地区的平均页数... 7.9

-扫描密度[最佳计数:实际计数]. 98.94% [186:188]

-区域扫描碎片... 1.60%

-每页平均可用字节数... 403.7

-平均页面密度(全)... 95.01%

DBCC执行完毕。如果DBCC输出错误信息,请联系系统管理员。

未索引的表大小:

如何进行Sqlserver数据写入表的测试

索引表大小:

显示重叠('表3 ')

DBCC正在扫描'表3 '表.

表: ' : ' Table _ 3 '(386100416););索引ID: 1,数据库ID: 5

已执行表级扫描。

-....扫描页数: 1087

-扫描区域的数量.... 136

-移交次数.... 135

-每个区域的平均页数... 8.0

-扫描密度[最佳计数:实际计数]. 100.00% [1363360136]

-逻辑扫描片段... 0.00%

-区域扫描碎片... 3.68%

-每页平均可用字节数... 0.3

-平均页面密度(全)... 100.00%

DBCC执行完毕

。如果 DBCC 输出了错误信息,请与系统管理员联系。
如何进行Sqlserver数据写入表的测试

清空表数据。
修改表结构:
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 输出了错误信息,请与系统管理员联系。

先加索引后插入数据后表大小:
如何进行Sqlserver数据写入表的测试

对于20W的数据量:
建好表,插入数据,再加索引。
建好表,建好索引,再插入数据。
感觉时间花费上差不多,空间消耗上也差不多。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/124810.html

(0)

相关推荐

  • mysql视图产生派生表无法优化案例

    技术mysql视图产生派生表无法优化案例 mysql视图产生派生表无法优化案例环境:mysql 5.7/8.0
    导入测试数据:git clone https://github.com/datacharm

    礼包 2021年11月4日
  • laravel队列使用场景(laravel的队列)

    技术Laravel的队列机制怎么用这篇文章主要介绍了Laravel的队列机制怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为什么 ?首先,我们要知道

    攻略 2021年12月20日
  • ppg是什么意思,化妆品peg/ppg是什么意思

    技术ppg是什么意思,化妆品peg/ppg是什么意思PEG/PPG-15/30 产品外观ppg是什么意思:无色到清透的淡黄色液体
    INCI名称:PEG/PPG 25/30CPPOLYMER
    性能与用途:消除护肤品粘感

    生活 2021年10月30日
  • 洗衣机品牌排行,十大品牌洗衣机排名,有哪些

    技术洗衣机品牌排行,十大品牌洗衣机排名,有哪些世界洗衣机十大品牌排行榜,小编给你们分享一下好东西: 小天鹅 (中国名牌,中国驰名商标,国家免检,洗衣机十大品牌) 海尔Haier (世界品牌,中国名牌,洗衣机十大品牌,山东

    生活 2021年10月31日
  • 颈椎病自我治疗方法,颈椎病自我治疗有哪些好的方法

    技术颈椎病自我治疗方法,颈椎病自我治疗有哪些好的方法1.调整枕头与睡眠体位。首先是枕头的选择。若引起颈椎病的病因是椎间盘突出或椎体后缘有骨刺者颈椎病自我治疗方法,枕头可稍低。如果病因是椎管后方韧带肥厚内陷,对脊髓后方形成

    生活 2021年10月28日
  • sql语句有哪些优化(sql语句性能如何优化)

    技术SQL语句怎样优化这篇文章主要介绍了SQL语句怎样优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。(1) 选择最有效率的表名顺序 (只在基于规则的优

    攻略 2021年12月14日