Database 我应该存储数据库中记录的编号信息吗?

Database 我应该存储数据库中记录的编号信息吗?,database,database-design,Database,Database Design,当我们研究某个堆栈溢出主题时,我们会在URL中看到一个路径,在那个里我们可以找到许多问题 示例:questions/38726547/title 我们可以看到数字38726547,我想做一些类似的事情,但我的问题是-在保存一些数据时,我是否应该将该数字存储在数据库中(在保存之前,我会计算所有当前添加的数据并将其递增1) 例如: question: title: "blabla", number: 3213 或者在从数据库获取数据并计数时检索该信息?在我看来,存储有关数字的信息更容易,而

当我们研究某个堆栈溢出主题时,我们会在URL中看到一个路径,在那个里我们可以找到许多问题

示例:
questions/38726547/title

我们可以看到数字
38726547
,我想做一些类似的事情,但我的问题是-在保存一些数据时,我是否应该将该数字存储在数据库中(在保存之前,我会计算所有当前添加的数据并将其递增1)

例如:

question:
  title: "blabla",
  number: 3213

或者在从数据库获取数据并计数时检索该信息?在我看来,存储有关数字的信息更容易,而且我不必每次都进行计算。我想问你什么是更好的做法。

这个数字用于唯一标识帖子,所以它可能应该保存在数据库中

首先,您希望保存它以优化其上的查询(=搜索)

其次,将它保存为数据库中的主键将允许其他表(例如注释)使用外键依赖它


第三,保存它将允许您以后更改数据库的自由。例如,假设您的数据库变得太大,您希望清除已删除的旧主题。如果您决定删除问题
1
2
,您仍然希望问题
3
指向同一帖子,而不管它现在是数据库中的“第一个”问题。

您正在寻找用作主键的自动递增字段。