问题是关于table2.id
表1
id -- Uniqueidentifier primary key
表2
id -- Uniqueidentifier primary key
id_table1 -- Duplicate foreign key
value -- varchar or other
可能的查询是:
select table1.id, table2.value
from table1
inner join table2 ON table2.id_table1 = table1.id
where table1.id = 'foo'
或
select value
from table2
where table2.id_table1 = 'foo'
无论是否存在table2.id,性能是否会发生变化。即使查询没有使用它?
答案 0 :(得分:0)
我认为答案是肯定的。拥有永远不会使用的列和索引会对性能产生负面影响,但可能并不多,具体取决于您的具体情况。
我认为你真正需要的是更好地理解主键和索引。特别是我建议你研究关于代理键的辩论。你会发现很多关于这个主题的信息。