gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 02:14:25 25 4
gpt4 key购买 nike

任何人都可以在比较时提供任何具体的性能证据

int = int

和:

string = string

在 MS-SQL 的 WHERE 子句中。

例如

select *
from Samples
where SamplesID = 5

和:

select *
from Samples
where Name = 'Shampoo'

有区别还是性能相同?

最佳答案

好吧,有趣的问题总是认为整数更快,但从未实际测试过它。我将数据中的联系人列表中的 100 万个随机姓氏和类型放入临时数据库中,没有索引或主键,只有原始数据。没有对任何一列中的数据范围进行测量,也没有标准化,因此反射(reflect)了我的数据库的实际情况,而不是纯粹的统计集。

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 个类型。查询先按姓氏运行,然后再按引用姓氏运行。搜索引用号的速度几乎快了 4 倍,并且使用了大约 1/2,所以这些年前的书都是正确的。

字符串 -
选择前 100 个 * FROM tblScratch WHERE contactsurname = 'hoare' ORDER BY NEWID()

Duration 430ms
Reads 902
CPU 203

整数 -
选择前 100 个 * FROM tblScratch WHERE contacttyperef = 3 ORDER BY NEWID()

Duration 136ms
Reads 902
CPU 79

关于sql-server - 比较整数和比较字符串的性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com