Hi,
if the right-hand side operand of the IN-operator is a hard-coded list or a bind parameter value, then the `IN` will be fast even in 2.7.
For each value in the IN list there will be a single index lookup.
With 2.8 the right-hand side operand of the IN-operator will additionally be pre-sorted if it is a variable that is defined by an arbitrary expression in an outer loop, e.g.
LET values = some expression
FOR foo IN bar
FILTER foo.bar IN values
In this case 2.7 will do a linear search on the IN values in the inner loop, which is slow when the IN list is very big. 2.8 will pre-sort the IN values and do a binary search for this.
Note that this still does not affect hard-coded IN lists of IN lists that are populated using bind parameters. These will be fast anyway.
Regarding performance when a client program is involved:
Let's say there is an IN list with 1,000 values. If you would issue 1,000 individual requests using the equality operator (==) then you would need to issue 1,000 HTTP requests, which will mean high network overhead. If you would put the 1,000 values in a single IN list, then you will have only a single HTTP request, though the one query will take longer than each of the single-value ones, and will produce a much bigger result.
That does not mean you should use an IN list with any number of values. For example, it won't make sense to use an IN list with several million values. Then compiling the one query, building the query result and fetching it from the server will also take very long. As a rule of thumb it may be most sensible to use IN lists but to not let them grow without bounds. I'd recommend starting with IN lists of 1,000 values or so (adjust as needed) and try what the response times and sizes are (also much depends on document sizes).
The length of an AQL query string is not artificially limited by ArangoDB, but it will definitely fail if the query string exceeds 2^31 bytes in length. But before that you're likely to run out of memory anyway, so please don't use *that* long query strings.
Best regards
Jan