加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 比较整数和比较字符串的性能差异

发布时间:2020-12-12 16:19:00 所属栏目:MsSql教程 来源:网络整理
导读:比较时,任何人都可以提供具体的表现 int = int 和: string = string 在MS-SQL中的WHERE子句中. 例如 select *from Sampleswhere SamplesID = 5 和: select *from Sampleswhere Name = 'Shampoo' 有差异还是表现相同? 解决方法 好的有趣的问题总是把它看作
比较时,任何人都可以提供具体的表现
int = int

和:

string = string

在MS-SQL中的WHERE子句中.

例如

select *
from Samples
where SamplesID = 5

和:

select *
from Samples
where Name = 'Shampoo'

有差异还是表现相同?

解决方法

好的有趣的问题总是把它看作是整数更快,从来没有实际测试过.我从我的数据中将1M随机姓名和类型从联系人列表中导入到没有索引或主键的原始数据的临时数据库中.没有对我的数据范围进行测量,任何一列都没有被标准化,所以反映了我的数据库的现实,而不是纯统计集.
select top 100 * from tblScratch where contactsurname = '<TestSurname>' order by NEWID()
select top 100 * from tblScratch where contacttyperef = 1-22 order by NEWID()

Newid是每次都随机列出数据列表.快速运行20个姓氏和20种类型.查询的姓氏比ref然后姓氏.搜索参考号码几乎快4倍,使用约1/2,所以几年前这些书是正确的.

字符串 –
SELECT TOP 100 * FROM tblScratch WHERE contactsurname =’hoare’ORDER BY NEWID()

Duration 430ms
Reads 902
CPU 203

整数 –
SELECT TOP 100 * FROM tblScratch WHERE contacttyperef = 3 ORDER BY NEWID()

Duration 136ms
Reads 902
CPU 79

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读