使用字母数字键来JOIN表和WHERE条件

时间:2014-07-08 13:32:59

标签: php sql performance join where-clause

所以我有这个数据库,其中许多表都有primary keyauto-increment numeric ID称为record_idsurrogate unique hash field称为record_hash (alpha-numberic 16 chars)

我在很多地方看到JOINSWHERE条件写在record_hash上。我的问题是 - 这会比record_id字段慢。 JOIN只有JOIN and WHERE还是{{1}}都存在差异?

1 个答案:

答案 0 :(得分:0)

速度实际上是由查询和表上的索引决定的。如果在查询中使用的两列上都有类似的索引,那么性能将类似。唯一的细微差别是数字ID会更小,读取和比较会更快一些。

通常,在设计数据库时,您只需要一个唯一的ID。记录哈希只会增加无用的开销。我会尽可能坚持身份。