最近在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秒左右。内部是如何计算处理的,在哪耗的时间

相关文章:

  • 2021-10-06
  • 2021-08-11
  • 2021-06-23
  • 2022-12-23
  • 2021-06-07
  • 2022-12-23
  • 2021-10-31
猜你喜欢
  • 2021-06-19
  • 2021-07-08
  • 2022-12-23
  • 2022-01-19
  • 2021-08-03
  • 2022-12-23
  • 2021-06-03
相关资源
相似解决方案