是否应该重置主键?

时间:2017-12-25 04:47:45

标签: android sql sqlite

不确定这是否已经得到解答,这是一个愚蠢的问题,但我在Android中使用SQL有点新鲜,而且我已经使用该语言创建了一个简单的任务应用程序。在应用程序中,我添加了一项删除所有任务的功能。当我创建一个新密钥时,主密钥会不断计数。现在,应用程序或代码或其他任何内容都没有错,但如果所有任务都被删除,我应该重置主键,还是这样做不好?如果没有,它会变得足够大以引发崩溃吗?

2 个答案:

答案 0 :(得分:2)

我通常会保持增量,因为它可以简化某些事情,如数据库备份/恢复和复制到其他数据库节点。当您的行始终由id唯一时,它会使事情变得更加可预测。

答案 1 :(得分:0)

来自SQLite documentation

  

除WITHOUT ROWID表外,SQLite表中的所有行都有一个64位有符号整数键,用于唯一标识其表中的行。

最大的64位数有多大?它是9,223,372,036,854,775,807。这个数字是如此之大,以至于您可能会超越它,除非您正在进行非常频繁和大量的插入。实际上,在插入这么多行之前,你可能会用完存储空间,甚至接近这个数字。