关于后端的架构决策

Architectural decision regarding back end

在我的后端,我有一个 table 用于存储事件(活动)。

经过一些研究,我决定将主键存储为自动增量主键,因为它似乎比将其存储为 UUID 快得多。

现在在我的前端,我想创建一个路线来显示事件的概况。
而不是像这样的路线:xyz.com/events/1。 我更愿意通过显示一个显示事件名称的唯一字符串来隐藏 id,但它会形成一个我可以在我的数据库中查询的唯一字符串。

我注意到很多网站(包括 Facebook)都可以做到这一点。 他们显示例如。 firstname.lastname 后面有一个数字。

实现此目标的最佳方法是什么?
如何从我可以查询的事件名称生成一个唯一的字符串?

在事件 table 中,我会存储额外的独特 slug(在事件保存操作时创建)。 f.e。 "Some great event" 有子弹 "some-great-event"。 如果 slug 不是唯一的,则需要额外区分 f.e。 "some-great-event-2"。 您使用 slug 准备 link 并作为标识符来查询数据库记录。

有很多库可以生成 slug,查看 github。