关于Int自增字段和GUID字段的性能测试。只有测试,没有分析,呵呵


      最近有两篇关于GUID和Int自增的文章,我是一直使用Int自增的,不习惯使用GUID,感觉GUID很麻烦,用着不方便,性能也比不上Int自增。但是同时我也知道,二者在性能上孰优孰劣,只是感觉和猜测,并没有做测试!我是只相信测试,不相信分析、推断的。可能是由于我一直都没有系统的学习过的原因吧,高分析总是迷迷糊糊,模棱两可的。所以我更详细测试的结果。

      一直想做一下这方面的测试来着,但是比较懒了,一直没有测试,看到了两片博文,勾起了我的兴趣,呵呵,测试一回吧。

一、 测试环境

1、 硬件
      可怜的笔记本,
      Dell E400,Core 2 7250,
      4G内存(其中2G作为虚拟硬盘),
      160G物理硬盘,2G虚拟硬盘。

2、 软件
      Windows 2003 Server
      SQL Server 2000



二、 测试目的

1、 测试在多表关联的时候Int自增和GUID的性能对比。
      主键、外键是Int自增 VS 主键、外键是GUID

      对比一下在多表关联的情况下,二者的性能如何?

      疑问:聚集索引是否都要设置到哪里?
      对于Int的自然是把聚集索引设置到主键上了,但是GUDI呢?没有用过GUID,不清楚了。不过不管三七二十一,测试了再说。就先把聚集索引也设置到GUID上面吧。



三、 测试步骤

1、 建立数据库

      俺比较心疼硬盘,所以就在虚拟硬盘里面建立数据库了,这样添加测试数据的时间应该会快很多吧。就是测试嘛,丢了也无所谓了。

      另外tempdb.mdf也被我放到虚拟硬盘里面了。

2、 建立两组测试用表。

      以客户信息、合同信息为例。第一组表用Int作为主键,第二组表以GUID作为主键。字段嘛,咱们就简单一点吧。

【客户信息表】
客户ID、客户名称、地址、添加时间。

其中 客户ID 是主键、聚集索引、 Int自增。

【合同信息表】
合同ID、客户ID、合同名称、合同内容、添加时间。

其中 合同ID 是主键、聚集索引、GUID。

3、 添加测试数据。

      客户信息6.5万,合同信息26.2万。每一个客户都有4条合同信息。
      到了添加数据的时候才发现,客户信息表的测试数据倒是好加,但是合同信息表里的测试数据那就不好加了,因为客户ID这个外键的数据,不是那么容易设置上的。所以我就想了一个偷懒的方法。

      添加第一组表的客户信息。
      添加第一组表的合同信息。
      修改第一组表合同信息里的客户ID。

      拷贝第二组表里的客户信息。
      拷贝第二组表的合同信息。
      修改第二组表合同信息里的客户ID。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值