小编Spe*_*und的帖子

子串连接或附加表,哪个更快?

我有一个在工作中经常出现的案例。我有很多表使用 4 个字符串作为外键:G191

TheG是一种类别,the19是年份,the1是一个实例。获取类别的所有行G是我们经常做的事情。通常喜欢:

SELECT * FROM [Table] 
WHERE Left([ID], 1) = 'G'
Run Code Online (Sandbox Code Playgroud)

有一种方法可以在不操作字符串的情况下获得这种效果,方法是加入定义了该类别的表:

SELECT * FROM [Table]
JOIN [Categories] ON [Table].CategoryID = [Categories].CategoryID
WHERE [Categories].Letter = 'G'
Run Code Online (Sandbox Code Playgroud)

我的同事坚持认为第一种方法的性能更高,并且因为我采用第二种方法而对我翻白眼。

哪一个更好?通过另一个表加入是否真的比检查字符串的第一个字符增加了更多的工作?

sql-server sql-server-2014

6
推荐指数
1
解决办法
1527
查看次数

标签 统计

sql-server ×1

sql-server-2014 ×1