如何进行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)

相关推荐

  • 早餐有哪些,早餐应该吃什么东西比较好

    技术早餐有哪些,早餐应该吃什么东西比较好都说一年之计在于春早餐有哪些,一日之计在于晨,大家都知道早晨是充满活力的时候!一顿营养丰富的早餐也是非常重要的,尤其是对男性朋友!你们知道男性早餐吃什么最有营养吗,适合男人的早餐食

    生活 2021年10月27日
  • c指針深入理解--指針和函數

    技术c指針深入理解--指針和函數 c指針深入理解--指針和函數一、程序的栈和堆:堆:-》栈-》程序栈-》栈幀(组织)-》函数返回地址-》局部数据存储-》参数存储-》栈指针和基指针1)栈指针:通常指向栈顶

    礼包 2021年12月24日
  • spark python 机器学习(python和spark)

    技术机器学习实践中如何将Spark与Python结合本篇文章给大家分享的是有关机器学习实践中如何将Spark与Python结合,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小

    攻略 2021年12月17日
  • Java远程过程调用方法是什么

    技术Java远程过程调用方法是什么本篇内容介绍了“Java远程过程调用方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

    攻略 2021年12月8日
  • Struts2 checkbox适用场景及分析是这样的

    技术Struts2 checkbox适用场景及分析是这样的Struts2 checkbox适用场景及分析是这样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,

    攻略 2021年11月16日
  • 光猫是什么样子的,怎么看光猫是千兆还是百兆

    技术光猫是什么样子的,怎么看光猫是千兆还是百兆看光猫是千兆还是百兆有这么两种方法,一种看光猫网络接口旁边的标记光猫是什么样子的;一种是查看光猫说明书。下面分开来讲一下。1、光猫网络接口类型光猫也叫光调制解调器、光纤猫等,

    生活 2021年10月26日