【发布时间】:2013-01-03 10:44:26
【问题描述】:
在我的数据库中,我有一个哈希和大小字段。当我想搜索这个表时,我总是有一个大小和哈希值来比较。我应该索引哪一列?我认为哈希是一个 blob,所以即使我知道它们将是 X 位宽(我没有选择,但我想我会使用 SHA256)
我应该索引哈希列还是大小?
【问题讨论】:
标签: mysql database-design indexing
在我的数据库中,我有一个哈希和大小字段。当我想搜索这个表时,我总是有一个大小和哈希值来比较。我应该索引哪一列?我认为哈希是一个 blob,所以即使我知道它们将是 X 位宽(我没有选择,但我想我会使用 SHA256)
我应该索引哈希列还是大小?
【问题讨论】:
标签: mysql database-design indexing
哈希可能不应该存储在 BLOB 列中——它的大小已知很小,您可能想要搜索它。将其存储在 BINARY 列中,甚至只是以十六进制格式将其存储在 VARCHAR 中会更合适。
一旦你解决了这个问题,回答这个问题就很简单了:你会根据大小或哈希对行进行排序或搜索吗?如果是其中任何一种情况,则应为该列编制索引。否则就没有必要了。
【讨论】:
UNIQUE 约束以使其成为要求。