我有两种处理散列I的方法,但需要您对哪一种比另一种更好,以及为什么?我是,只对逻辑感兴趣,而不是我用于散列或表数据类型等的技术!
我将生成一个URL来处理删除产品的操作,该URL将如下所示(最后一段是散列(SHA1) product.id):
...../delete/product/123c45c789ds654dedkjfghr87frd场景1:表中的存储哈希ID,并按如下方式使用:
>查询:
DELETE ...... WHERE hash_id = '$url_hash_id'>表:
products
id - INT
hash_id - VARCHAR(40)场景2:不将散列ID存储在表中,而是每次创建URL并按如下方式使用时生成该ID:
>查询:
DELETE ...... WHERE SHA1(id) = '$url_hash_id'>表:
products
id - INT我能想到的是:
mySql SHA1()函数和php SHA1()函数。发布于 2014-08-01 21:44:36
我会使用场景1,原因很简单,因为WHERE SHA1(id) = '$url_hash_id'不会使用mysql索引。有了大量的记录,表扫描将比存储hash_id和该列的索引所带来的额外开销更大。
https://stackoverflow.com/questions/25088619
复制相似问题