Ranged Filter Queries


In the absence of joins, it is critical that we can do a ranged filter, using something like

select object.clientid from bucket where object.objectid IN (123,432,543)

In this way we can perform two synchronous calls to get the data we need from two linked documents. My workaround was to use OR notation and I’ve posted seperately about how this does not currently use indexes and as such is too slow for our purposes.


In the future we will optimize predicates with a set of keys. so if you say where Key=abc or Key=xyz, the query can use the primary key instead of performing a table scan. Optimizing the IN clause will likely be a while, but I think optimizing the WHERE clause for specific keys will be very helpful. We have feedback that this is a common use case.


As Dipti points out, we have a specific focus on linked documents, so we will provide explicit support for your query above, and will follow on with optimizing it.