假设我通过一个任意字段category
进行查询,该字段的长度为四个字符,所有数字。
所以,它可以是'1234'
、'2341'
、'9999'
等。
现在,如果我确定此字符串的这种数字表示形式将大于或等于 1000 且小于或等于 9999,那么将此字段设置为number
而不是string
是否会使查询更有效?我相信数字比较比字符串比较更有效,但我不确定它是否会对查询性能产生任何明显的影响。我相信,如果查询性能相等,使此字段成为string
会更好,因为字段类别编号只是一个标识符,因此字符串更能描述正在发生的事情,但更好的查询性能更重要。
因此,我的问题是,如果我查询这个任意category
字段,按字符串或数字查询会更有效还是没关系?
根据这个和那个索引以二进制形式表示为BSON文档。
可以通过使其变小(索引所需的内容)而不是使用数据类型来提高效率。