对大数据量执行的一些疑问

最近在SqlServer中做一个大数据量(3000万)的测试
表只有六个字段,字段的内容都比较小。
使用BULK INSERT语句插入数据,结果显示插入的速度比直接写INSERT语句会快很多。
这里分析两种情况:
一:表只有主键索引(非簇集)
  在插入数据,查询数据都很慢。插入100万需42分钟左右
二:表有主键索引(非簇集)和一个簇集索引两个
  插入数据相对第一种会快很多,100万数据大约12分钟。全部插入3000笔数据后,查询有簇集索引那列,第一次要消耗5秒左右,以后查询不到1秒。使用INSERT单笔插入后,速度也是很快的,不到1秒。

疑问1:第一种情况的插入速度慢,是否在建主键索引,而又没有簇集索引的情况下,B-Tree的建立会慢些。
疑问2:第一次做查询,SQLServer是否在做内部分析优化。
疑问3:执行where charindex('8', transid)=1这样的字符串匹配查询,速度会很慢,需70秒左右。内部是如何计算处理的,在哪耗的时间

转载于:https://www.cnblogs.com/sjhrun2001/archive/2009/10/14/1582990.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值