数据库主键int型和str型效率比较

文章通过实验对比了在MSSQL中,使用int型和str型作为主键在查询、插入和更新操作时的效率差异。尽管str型主键在某些情况下的确比int型慢,但作者认为相对于数据库连接池和SQL优化,这种效率差异并不显著,不应作为提升系统响应速度的关键因素。
摘要由CSDN通过智能技术生成
 

又看到这样的一段话:

主键用整型会极大的提高查询效率,而字符型的比较开销要比整型的比较开销大很多,用字符型数据作主键会使数据插入、更新与查询的效率降低。数据量小的时候这点降低可能不会被注意,可是当数据量大的时候,小的改进也能够提高系统的响应速度。

我做了一个实验,用MSSQL企业管理器建立两张表TInt和TStr,
TInt
{
 intId  int  PRIMARY KEY
 intValue  int
}
TStr
{
 strId  varchar(20)  PRIMARY KEY
 strValue  varchar(20)
}
往这两张表数据分别为intId = intValue = 1 ~ 300000,strId = strValue = '1' ~ '300000'。然后用mfc封装的odbc分别执行
intRslt.Open(CRecordset::dynaset,"SELECT * FROM TInt WHERE intId = 123456",CRecordset::readOnly);

strRslt.Open(CRecordset::dynaset,"SELECT * FROM TSTR WHERE strId = '123456'",CRecordset::readOnly);
一千次。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值