相关疑难解决方法(0)

PostgreSQL:在大型数据库上定义主键

我正在计划一个数据库来存储大量文本.(博客文章,新闻文章等)数据库需要有标题,内容(最多50k字符),日期,链接和语言字段.在一个链接上不能发生相同的内容.旧内容(例如,早于30天)将被删除.

现在,问题是主键.我可以设置一个自动递增(SERIAL类型)字段并将其用作主键.但是,这似乎是愚蠢的,浪费了光盘空间,因为该领域不会用于任何目的,而是成为主键.(并且该字段最终可能会耗尽?或者总是存在其他性能问题:插入的每个新行的内容都需要检查重复项.因此,我提出的主键的另一个解决方案是计算内容+链接值的sha256哈希,然后将其放入新的"哈希"列并将其用作主键.一石二鸟.当然,问题是哈希冲突.这是一个很大的威胁吗?

我对PostgreSQL没有任何经验,对DBMS的经验也很少,所以在创建一个具有高速公路蜗牛性能特征的数据库之前,我会很感激第二意见(可怕的比较).

如果您对大型数据库有任何经验,请在这里帮助我.在我的情况下,将64个字符的字符串设置为主键字段是个好主意吗?(因为我的印象是通常这是避免的)

sql database postgresql database-design

9
推荐指数
2
解决办法
9977
查看次数

标签 统计

database ×1

database-design ×1

postgresql ×1

sql ×1