mysql guid int_使用Guid做主键和int做主键性能比较

在数据库的设计中我们常常用Guid或int来做主键,根据所学的知识一直感觉int做主键效率要高,但没有做仔细的测试无法

说明道理。碰巧今天在数据库的优化过程中,遇到此问题,于是做了一下测试。

测试环境:

台式电脑 Pentiun(R) 4 Cpu 3.06GHz

Win XP professional

1.5G DDR RAM

SQL Server 2005 个人版

测试过程:

首先创建测试数据库Test

1.创建Test_Guid表,创建Test_Int表

-------------------------------------------

--创建Test_Guid表

---------------------------------------------

USE  Test

Go

IF OBJECT_ID('Test_Guid', 'U') IS NOT NULL

DROP TABLE Test_Guid

GO

CREATE TABLE Test_Guid

(

Guid varchar(50) not null,

TestId int not null,

TestText ntext not null,

TestDateTime datetime default getdate(),

CONSTRAINT PK_Guid PRIMARY KEY (Guid)

)

GO

---------------------------------------------

--创建Test_Int表

---------------------------------------------

USE  Test

GO

IF OBJECT_ID('Test_Int', 'U') IS NOT NULL

DROP TABLE Test_Int

GO

CREATE TABLE Test_Int

(

Id int not null identity(1,1),

TestId int not null,

TestText ntext not null,

TestDateTime datetime default getdate(),

CONSTRAINT PK_Id PRIMARY KEY (Id)

)

GO

2.创建Test_Guid子表:Test_Guid_Detail和创建Test_Int子表:Test_Int_Detail,用来做连接查询

--创建Test_Guid子表:Test_Guid_Detail

USE  Test

GO

IF OBJECT_ID('Test_Guid_Detail', 'U') IS NOT NULL

DROP TABLE Test_Guid_Detail

GO

CREATE TABLE Test_Guid_Detail

(

Guid varchar(50) not null,--Guid是Test_Guid的外键

TestId int not null,

TestText ntext not null,

TestDateTime datetime default getdate()--,

--CONSTRAINT PK_Guid PRIMARY KEY (Guid)

)

GO

--创建Test_Int子表:Test_Int_Detail

USE  Test

GO

IF OBJECT_ID('Test_Int_Detail', 'U') IS NOT NULL

DROP TABLE Test_Int_Detail

GO

CREATE TABLE Test_Int_Detail

(

Id int not null,--Id是Test_Int的外键

TestId int not null

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值