比较时,任何人都可以提供具体的表现
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