我有一个包含大约30列的表。其中10列只能从值列表中填充。
现在这些值被存储为varchar
,直接存储在表中。
我应该为这些值创建单独的表,并在id上使用外键映射2个表吗?
如果用id代替单词会提高性能吗?还是会降低性能因为在查询时我们必须一直连接?或者它对性能没有影响吗?
我还关心数据的完整性。
谢谢。
外键是关系完整性工具,而不是性能工具。至少在SQL Server中,FK的创建不会创建关联索引,您应该在所有FK字段上创建索引,以提高查找时间。
所以,fk不会提高性能,但是创建索引会:)