所以我有这个数据库,其中许多表都有primary key
,auto-increment numeric ID
称为record_id
,surrogate unique hash field
称为record_hash
(alpha-numberic 16 chars)
我在很多地方看到JOINS
和WHERE
条件写在record_hash
上。我的问题是 - 这会比record_id字段慢。 JOIN
只有JOIN and WHERE
还是{{1}}都存在差异?
答案 0 :(得分:0)
速度实际上是由查询和表上的索引决定的。如果在查询中使用的两列上都有类似的索引,那么性能将类似。唯一的细微差别是数字ID会更小,读取和比较会更快一些。
通常,在设计数据库时,您只需要一个唯一的ID。记录哈希只会增加无用的开销。我会尽可能坚持身份。