Mongodb 基于布尔与整数的性能比较

Mongodb 基于布尔与整数的性能比较,mongodb,bson,Mongodb,Bson,当字段只能有两个值中的一个时,相对于mongoDB中的int布尔值如何执行 具体地说,我有一个存储对象的集合,这些对象可能处于活动状态,也可能尚未处于活动状态。因此,我希望每行都有一个“活动”键。最好输入 {..., active: false, ...} 或 在查询活动对象时,我对速度方面的性能更感兴趣,但我对将使用多少空间感兴趣——以防出现折衷。当您对某些数据类型的实现方式的低级细节感兴趣时,最好的参考是 在这里,您将看到布尔值是两个字节(一个字节表示类型信息“boolean”,另一个字节

当字段只能有两个值中的一个时,相对于mongoDB中的int布尔值如何执行

具体地说,我有一个存储对象的集合,这些对象可能处于活动状态,也可能尚未处于活动状态。因此,我希望每行都有一个“活动”键。最好输入

{..., active: false, ...}


在查询活动对象时,我对速度方面的性能更感兴趣,但我对将使用多少空间感兴趣——以防出现折衷。

当您对某些数据类型的实现方式的低级细节感兴趣时,最好的参考是

在这里,您将看到布尔值是两个字节(一个字节表示类型信息“boolean”,另一个字节
0x00
表示“false”,另一个字节
0x01
表示“true”),而32位整数有5个字节(1个字节表示类型前缀,4个字节表示32位内容)。BSON还支持占用9字节的64位整数,但在大多数编程语言中,除非显式使用64位整数类型,否则驱动程序将存储32位整数。请记住,键的名称是一个字符串,它也会占用空间


使用哪种类型对查询性能影响不大。查询比比较两个字节/32位整数所需的一个CPU操作要耗时得多。

当您对某些数据类型的实现方式的低级细节感兴趣时,最好的参考是

在这里,您将看到布尔值是两个字节(一个字节表示类型信息“boolean”,另一个字节
0x00
表示“false”,另一个字节
0x01
表示“true”),而32位整数有5个字节(1个字节表示类型前缀,4个字节表示32位内容)。BSON还支持占用9字节的64位整数,但在大多数编程语言中,除非显式使用64位整数类型,否则驱动程序将存储32位整数。请记住,键的名称是一个字符串,它也会占用空间


使用哪种类型对查询性能影响不大。查询比比较两个字节/32位整数所需的一个CPU操作要耗时得多。

当您对某些数据类型的实现方式的低级细节感兴趣时,最好的参考是

在这里,您将看到布尔值是两个字节(一个字节表示类型信息“boolean”,另一个字节
0x00
表示“false”,另一个字节
0x01
表示“true”),而32位整数有5个字节(1个字节表示类型前缀,4个字节表示32位内容)。BSON还支持占用9字节的64位整数,但在大多数编程语言中,除非显式使用64位整数类型,否则驱动程序将存储32位整数。请记住,键的名称是一个字符串,它也会占用空间


使用哪种类型对查询性能影响不大。查询比比较两个字节/32位整数所需的一个CPU操作要耗时得多。

当您对某些数据类型的实现方式的低级细节感兴趣时,最好的参考是

在这里,您将看到布尔值是两个字节(一个字节表示类型信息“boolean”,另一个字节
0x00
表示“false”,另一个字节
0x01
表示“true”),而32位整数有5个字节(1个字节表示类型前缀,4个字节表示32位内容)。BSON还支持占用9字节的64位整数,但在大多数编程语言中,除非显式使用64位整数类型,否则驱动程序将存储32位整数。请记住,键的名称是一个字符串,它也会占用空间

使用哪种类型对查询性能影响不大。与比较两个字节/32位整数所需的一个CPU操作相比,查询要做的事情要多得多

{..., active: 0, ...}