我正在编写一个简单的烧瓶API,我需要将一些资源插入数据库。我想在网址中显示哈希ID,例如/api/resource/hSkR3V9aS
,而不仅仅是简单的自动增量ID /api/resource/34
我的第一个想法是使用Hashids并从自动增量hash_id
生成id
并将这两个值存储在数据库中,但问题是我必须先INSERT
新的数据行,GET
id
,然后是UPDATE
hash_id
字段。
第二次尝试是生成hash_id
(例如sha1)而不是来自id
,而是生成我传递给数据库并将其用作主键的其他字段(摆脱auto-inc id ),但我担心每次搜索和比较字符串而不是整数都会慢得多。
获得所需基于hash_id
的网址以及可接受的数据库SELECT
查询速度的最佳方法是什么?
我认为这是最相关的stack question,但它没有回答我的问题。
主要技术细节:Python 3.6,flask_mysqldb库,MySQL数据库 如果我遗漏了一些信息,请告诉我,我会提供。