我们有很多查询,我们在字段和表名称末尾追加了一个随机别名(由于自定义ORM实现可能难以更改)。该查询是像以下的(虽然实质上更复杂,大部分时间):MS SQL Server优化器和不同的表和字段别名
SELECT fooA.field1 as field1B,
fooA.field2 as field1C
FROM foo as fooA
的后缀A,B和C是随机生成的(和长于一个字符)。这会不会损害我们查询的性能(即优化器是否能够识别由于随机部分而导致的重复查询)?我们主要使用SQL Server 2005.
这是只适用于SQL Server吗? – 2009-09-24 14:35:34
在'Oracle'和'MySQL'上也启用了查询缓存。但是,SQL Server会在计算散列时消除常量和文字,而Oracle需要逐字匹配。 – Quassnoi 2009-09-24 14:42:26