技术开发 频道

SQL Server datetime数据类型优化设计

  (二) 测试结果:

  1. 数据存储大小:

1

  (图2:数据空间对比)

  2. 索引存储信息:

1
  (图3:char(10))

1

  (图4:datetime)

1

  (图5:smalldatetime)

  3. 索引查询的情况:

  多次执行,SQL Server执行时间为:[char(10)] 大部分在43~59徘徊,偶尔出现小于10的;[datetime]平均在1~2毫秒;[smalldatetime]均在1毫秒;而且大家会发现[smalldatetime]有其它的9次逻辑读取变为8次了。

  --[TestChar10]

  SQL Server 分析和编译时间:

  CPU 时间= 0 毫秒,占用时间= 1 毫秒。

  (2200 行受影响)

  表'TestChar10'。扫描计数1,逻辑读取9 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。

  SQL Server 执行时间:

  CPU 时间= 0 毫秒,占用时间= 59 毫秒。

  SQL Server 执行时间:

  CPU 时间= 0 毫秒,占用时间= 1 毫秒。

  --[TestDatetime]

  SQL Server 分析和编译时间:

  CPU 时间= 0 毫秒,占用时间= 1 毫秒。

  (2200 行受影响)

  表'TestDatetime'。扫描计数1,逻辑读取9 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。

  SQL Server 执行时间:

  CPU 时间= 0 毫秒,占用时间= 2 毫秒。

  SQL Server 执行时间:

  CPU 时间= 0 毫秒,占用时间= 1 毫秒。

  --[TestSmalldatetime]

  SQL Server 分析和编译时间:

  CPU 时间= 0 毫秒,占用时间= 1 毫秒。

  (2200 行受影响)

  表'TestSmalldatetime'。扫描计数1,逻辑读取8 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。

  SQL Server 执行时间:

  CPU 时间= 0 毫秒,占用时间= 1 毫秒。

  SQL Server 执行时间:

  CPU 时间= 0 毫秒,占用时间= 1 毫秒。

  --SQL Server 2008新数据类型

0
相关文章