database - 我应该存储有关数据库中有多少条记录的信息吗?

标签 database database-design

当我们查看一些 Stack Overflow 主题时,我们会在 URL 中看到一个路径,我们可以在其中找到许多问题。

示例:questions/38726547/title

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

例子:

question:
  title: "blabla",
  number: 3213

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

最佳答案

此编号用于唯一标识帖子,因此它可能应该保存在数据库中。

首先,您需要保存它以优化对其的查询(=搜索)。

其次,将它保存为数据库中的主键将允许您让其他表(例如,评论)依赖它和外键。

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

关于database - 我应该存储有关数据库中有多少条记录的信息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38726662/

相关文章:

sql - 有什么比 P6Spy 更好的吗?

Mysql:如何获取自定义结果集作为 select 语句输出

mysql - 我应该使用一张 table 还是多张 table

mysql - 如何根据同一个表上的 select 语句的结果创建 View ?

database - 具有特殊要求的对象关系映射(选择基础+所有子对象,...)

ios - 如何在 Core Data 对象中存储 Twitter ID

php - 选择相互关注者

mysql - 如何在 MySQL 中使用 group_concat() 获取总计数?

php - Laravel 5.2 像静态方法一样调用非静态查询生成器方法

database - 两个具有不同用途但具有相同属性/字段的表