【发布时间】:2015-04-16 06:31:37
【问题描述】:
我是一名 Android 开发人员。我想在 SQLite3 上创建一个表,并且我想要一个布尔类型的列。我可以定义一列,类型是整数,值只使用0和1。我也可以使用类型为文本(字符)的列,使用值'T','F'。哪个更小更快?
【问题讨论】:
-
"INTEGER。该值是一个有符号整数,根据值的大小存储在 1、2、3、4、6 或 8 个字节中。"我想用 1 个字节来存储一个 BOOL 还不错
-
非常感谢。但是如果我使用文本类型,它会存储为UTF-8文本,'T'和'F'是ascii字符,也会使用一个字节,不是吗?
-
@DerGolem UTF-8 每个 ASCII 字符使用一个字节。正如您在documentation 中看到的那样,整数 0 和 1 使用 zero 字节(这些值由串行类型处理)。
-
@DerGolem 这就是我说“ASCII”的原因。
-
@CL 啊,好的。和往常一样,你的知识比我深。
标签: android sqlite boolean database-performance