Cosmos数据库查询的成本和性能取决于同一分区中的项目数量



我有一个简单的JSON数据,如下所示{"id":beos033mxle-1232, "name": "John Doe", "city":"Denver", "gender": "m"}分区密钥为/city

我想知道是否按如下方式运行简单查询SELECT * FROM User u WHERE u.name = "John Doe" AND u.city = "Denver"同一分区中的项目数(在本例中为Denver(是否会影响此查询的成本和性能?(发现10个项目中的1个项目与100000个项目(

如果我在没有分区键的情况下运行查询,比如SELECT * FROM User u WHERE u.name = "John Doe",它将在所有分区中进行查询,在这种情况下,每个分区中的项目数量也会影响成本和性能?

当然,数据越多,成本就越高,但当执行分区内查询,然后用索引过滤属性时,这还不错,因为索引非常高效。

物理分区越多,跨分区查询的成本就越高。所以一般来说是的,数据越多,成本就越高。这就是为什么一个好的分区键对扩展如此重要的原因。因为这种类型的数据存储是";按比例缩小";。因此,数据越多,你的数据所在的计算机就越多。你必须查询的计算机越多才能找到你的数据,这就越昂贵。

如果你有一个20GB或更小的小数据库,那么跨分区查询就不是什么问题,因为你所有的数据都位于一个最大大小为50GB的物理分区上。

最新更新