When using functions as filters for your queries, functions evaluated at the server side (by the database) are more performant than those that have to be evaluated at the client side.
At present, the functions to be evaluated by the Cosmos DB engine are as follows:
CosmosDB function |
GeneXus function |
CONTAINS |
Contains |
STARTSWITH |
StartsWith |
ENDSWITH |
EndsWith |
LENGTH |
Length |
LOWER |
ToLower |
UPPER |
ToUpper |
TRIM |
Trim |
IS_NULL |
IsNull |
RTRIM |
TrimEnd, RTrim |
LTRIM |
TrimStart, LTrim |
StringToNumber |
ToNumeric |
The navigation list gives you information about the filters that have to be evaluated at the client, and you should try to avoid.

On the other hand, when being evaluated at the server side, you should also consider the index usage of the function you use.
For example, look at the document which gives information about the index usage of string functions.
Generators: .NET, Java
As since GeneXus 18 Upgrade 3.