我们今天主要向大家讲述的是SQL Server 2005大批量数据的实际操作以及其使用的实例描述,以下是文章的具体介绍,望你浏览完以下的内容会有所收获。我们首先是以问题提出的方式来对其进行讲述:
在SQL Server 2005数据库中建立两个类型相同的数据表,如下
create table test1 ( iId int identity(1,1) not null, vTest1Code varchar(30) not null, vName varchar(30) not null, dDate datetime, primary key(iId) ) create table test2 ( Id int identity(1,1) not null, Code varchar(30) not null, Name varchar(30) not null, date datetime, primary key(Id) )
两表所占用的系统空间
exec sp_spaceused 'test1' exec sp_spaceused 'test2' Name Rows Reserved Data Index_size unused Test1 0 0KB 0KB 0KB 0KB Test2 0 0KB 0KB 0KB 0KB
由上图得知两表所占用的系统空间一致。
执行数据插入操作
--测试TEST1
declare @startTime datetime set @startTime=getdate() declare @i int set @i=1 while @i<100 begin insert into test1(vTest1Code,vName) values('VCode'+CAST(@i as varchar(10)),'vName'+CAST(@i as varchar(10))) set @i=@i+1 end
select [语句执行花费时间(毫秒)]=datediff(ms,@startTime,getdate())
--测试TEST2
declare @startTime datetime set @startTime=getdate() declare @i int set @i=1 while @i<100 begin insert into test2(Code,Name) values('VCode'+CAST(@i as varchar(10)),'vName'+CAST(@i as varchar(10))) set @i=@i+1 end
select [语句执行花费时间(毫秒)]=datediff(ms,@startTime,getdate())
go
插入耗时情况
test1语句执行花费时间(毫秒) test2语句执行花费时间(毫秒)
100条 30 30 1000条 250 250 10000条 2623 2516 100000条 26453 26560 1000000条 275110 282796
最后两表所占用的系统空间
exec sp_spaceused 'test1' exec sp_spaceused 'test2' Name Rows Reserved Data Index_size unused Test1 1000098 48520KB 48272KB 192KB 56KB Test2 1000098 48520KB 48272KB 192KB 56KB
问题现象描述:
<!--[if !supportlists]-->1、 <!--[endif]-->在相同数据类型、长度,及约束、索引的情况下,执行千条及千条以内的数据插入操作时,字段长度、系统保留字对SQL语句的执行速度没有影响或者影响很小;执行上万条数据插入操作时,字段长度对SQL语句的执行速度影响很小;执行十万条以上的数据操作时,系统保留字对SQL语句的执行速度影响明显。
<!--[if !supportLists]-->2、 <!--[endif]-->数据字段长度、系统保留字对系统占用的空间没有任何影响。
<!--[if !supportLists]-->3、 <!--[endif]-->在SQL Server 2005大批量数据操作时,数据类型、长度,甚至数据字段是否为系统保留字,对SQL语句的执性效率都有影响。
问题总结:
<!--[if !supportLists]-->1、 <!--[endif]-->SQL语句在执行时,将首先对相关数据表进行连接,然后进行过滤、分组、选择字段、DISTINCT、ORDER BY等操作。由此,我们在进行数据查询时,应尽量避免“*”连接,应考虑过滤的先后顺序。
<!--[if !supportLists]-->2、 <!--[endif]-->谨慎使用游标、触发器、索引。
<!--[if !supportLists]-->3、 <!--[endif]-->尽量避免使用系统保留字,考虑在SQL语句中区分数据字段的大小写,即SQL语句中的字段名的形式应和数据表中的字段名的形式一致。
以上的相关内容就是对SQL Server 2005大批量数据操作使用实例的介绍,望你能有所收获。
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
对于Windows 7系统来说,其默认安装的许多工具是我们很少使用或从来不用的,比如系统自带的扫雷、纸牌游戏等。删除此类长期不用的系统组件,不但可以让系统更清爽,更重要的是还可以提高系统的运行速度,特别是对于硬件配置相对较低的上网本来说,尤其如此。接下来,笔者就给大家介绍一下如何删除Windows...
有些使用本本的朋友可能会发现,右下角通知栏区域会无法显示电源按钮,导致在插上电源或者是使用电池的时候都无法进行区分。造成这种情况大部分都是因为使用了第三方修改过的系统版本或者对于系统优化过度,所以今天就来解决这个问题。 第一步:在开始菜单的搜索窗口输入“gpedit.msc”,进入组策略编辑器,依...
打开IE浏览器的时候、聊QQ的时候、玩游戏的时候… … 这到底是谁惹的祸呢? 很多人都知道Windows 7桌面特效全部开启会使系统性能降低,那到底是哪个特效导致的这一情况呢? 解决办法: 右键计算机,高级系统设置-性能-设置-关闭”任务栏和开始菜单使用动画“和”最大化和最小化动态显示窗口“...
假如碰到电脑里的文件夹和文件全都不显示名字了(如下图),是不是电脑中毒了呢 请教下笔者有没好的解决方法!下面是笔者给出的答案,希望能够帮助到大家! 首先打开你用来装图片的文件夹(缩略图下面的文字不显示的文件夹),然后但击工具栏上的“查看”选择“平铺”, 下面就是关键:要按住SHIFT键不...
一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...
用Windows 7久了,C盘越来越大,原来50G的空间基本用完了,又不想重装系统,就想着能不能直接扩容。 在网上搜了半天,看了无数教程,都写得不明不白的,结合了几篇教程才终于搞明白。 重新总结一下,方便有需要的人。 所用软件: http://www.jb51.net/softs/57895...