SQLite3-存储小数字数组

SQLite3-存储小数字数组,sqlite,Sqlite,在我的应用程序中,as用户的帐户上最多可以有64枚奖牌 每个奖牌有一个从0到3的值(需要2位) 问题:我应该如何在数据库中存储奖牌值 备选案文1: USER_ID MEDAL0 MEDAL1 MEDAL2 ... MEDAL64 1 0 1 2 0 备选案文2: USER_ID MEDALS 1 blob 此外,奖牌分为8个部分,通常一起进行,因此它们可以像这样组合在数据库中,但

在我的应用程序中,as用户的帐户上最多可以有64枚奖牌

每个奖牌有一个从0到3的值(需要2位)

问题:我应该如何在数据库中存储奖牌值

备选案文1:

 USER_ID   MEDAL0   MEDAL1   MEDAL2  ... MEDAL64
    1        0        1         2           0
备选案文2:

 USER_ID   MEDALS
    1       blob
此外,奖牌分为8个部分,通常一起进行,因此它们可以像这样组合在数据库中,但将位连接成一个整数:

 USER_ID   MEDALS1   MEDALS2   MEDALS3  ...  MEDALS8
    1      200260      2332     69188           0

所以我的问题是,这些选项在SQLite性能(速度和较小程度的内存)方面有什么不同?64列包含4位整数可以吗?最好有8列大整数?

至于速度。有三种速度。写入速度(W)包括初始写入和更新、读取速度(R)和程序写入速度(P

我更喜欢选项1

使用选项1,您可以获得最快的Rp,因为当您需要读写奖牌时,您只需选择并更新相应的字段。对于选项2,3,您必须读取额外的位。当您需要写入时,您必须读取旧位,更新它并保存新的合成值


首字母W乍看起来可能很慢,但实际上并非如此。Sqlite将检测数字有多大,并以最紧凑的方式存储它。

至于速度。有三种速度。写入速度(W)包括初始写入和更新、读取速度(R)和程序写入速度(P

我更喜欢选项1

使用选项1,您可以获得最快的Rp,因为当您需要读写奖牌时,您只需选择并更新相应的字段。对于选项2,3,您必须读取额外的位。当您需要写入时,您必须读取旧位,更新它并保存新的合成值


首字母W乍看起来可能很慢,但实际上并非如此。Sqlite将检测数字有多大,并以最紧凑的方式存储它。

至于速度。有三种速度。写入速度(W)包括初始写入和更新、读取速度(R)和程序写入速度(P

我更喜欢选项1

使用选项1,您可以获得最快的Rp,因为当您需要读写奖牌时,您只需选择并更新相应的字段。对于选项2,3,您必须读取额外的位。当您需要写入时,您必须读取旧位,更新它并保存新的合成值


首字母W乍看起来可能很慢,但实际上并非如此。Sqlite将检测数字有多大,并以最紧凑的方式存储它。

至于速度。有三种速度。写入速度(W)包括初始写入和更新、读取速度(R)和程序写入速度(P

我更喜欢选项1

使用选项1,您可以获得最快的Rp,因为当您需要读写奖牌时,您只需选择并更新相应的字段。对于选项2,3,您必须读取额外的位。当您需要写入时,您必须读取旧位,更新它并保存新的合成值

首字母W乍看起来可能很慢,但实际上并非如此。Sqlite将检测数字有多大,并以最紧凑的方式存储它。

上详细介绍了如何存储和检索整数值。该段的结论是,整数可以以特定的长度存储,但在内存中使用时,它们是64位(有符号)整数

选项2可能是最灵活的。您可以添加更多类别的奖牌(3+位)和更多奖牌。它也可能比处理某种整数更不方便

选择1

64列包含4位整数可以吗

整数的最小存储类是磁盘上的1字节,因此除了运行时未使用的空间外,还有一半的空间将被浪费。但从编程的角度来看,这可能是最容易处理的

<选项> 3,我至少要考虑到一个更大的整数大小(<代码>无符号BigIt<代码> 64位),以减少粘贴位。

我至少要试试选项1。SQLite相当快,至少可以让您继续使用。

上详细介绍了如何存储和检索整数值。该段的结论是,整数可以以特定的长度存储,但在内存中使用时,它们是64位(有符号)整数

选项2可能是最灵活的。您可以添加更多类别的奖牌(3+位)和更多奖牌。它也可能比处理某种整数更不方便

选择1

64列包含4位整数可以吗

整数的最小存储类是磁盘上的1字节,因此除了运行时未使用的空间外,还有一半的空间将被浪费。但从编程的角度来看,这可能是最容易处理的

<选项> 3,我至少要考虑到一个更大的整数大小(<代码>无符号BigIt<代码> 64位),以减少粘贴位。

我至少要试试选项1。SQLite相当快,至少可以让您继续使用。

上详细介绍了如何存储和检索整数值。该段的结论是,整数可以以特定的长度存储,但在内存中使用时,它们是64位(有符号)整数

选项2可能是最灵活的。您可以添加更多的m类