20 sql-server
任何人都可以在比较时提供任何具体的绩效证据
int = int
Run Code Online (Sandbox Code Playgroud)
和:
string = string
Run Code Online (Sandbox Code Playgroud)
WHEREMS-SQL中的in 子句.
例如
select *
from Samples
where SamplesID = 5
Run Code Online (Sandbox Code Playgroud)
和:
select *
from Samples
where Name = 'Shampoo'
Run Code Online (Sandbox Code Playgroud)
有差异还是性能相同?
u07*_*7ch 11
OK有趣的问题总是把它当成读取整数更快并且从未实际测试过它.我将1M随机姓氏和类型从我的数据中的联系人列表中删除到没有索引或主键只是原始数据的临时数据库.没有对我的数据范围进行测量,其中任何一列都没有标准化,因此反映了我的数据库的现实而不是纯粹的统计集.
select top 100 * from tblScratch where contactsurname = '<TestSurname>' order by NEWID()
select top 100 * from tblScratch where contacttyperef = 1-22 order by NEWID()
Run Code Online (Sandbox Code Playgroud)
Newid每次都会将数据列表随机化.快速运行20个姓氏和20种类型.查询运行姓氏比ref和姓氏.搜索参考编号几乎快了4倍,使用了大约1/2,因此几年前这些书都是正确的.
字符串 -
SELECT TOP 100 * FROM tblScratch WHERE contactsurname = 'hoare' ORDER BY NEWID()
Duration 430ms
Reads 902
CPU 203
Run Code Online (Sandbox Code Playgroud)
整数 -
SELECT TOP 100 * FROM tblScratch WHERE contacttyperef = 3 ORDER BY NEWID()
Duration 136ms
Reads 902
CPU 79
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15363 次 |
| 最近记录: |