--- title: All description: Search all rows in the index canonical: https://docs.paradedb.com/documentation/query-builder/compound/all --- The all query means "search all rows in the index." The primary use case for the all query is to force the query to be executed by the ParadeDB index instead of Postgres' other execution methods. Because ParadeDB executes a query only when a ParadeDB operator is present in the query, the all query injects an operator into the query without changing the query's meaning. To use it, pass the [key field](/documentation/indexing/create-index#choosing-a-key-field) to the left-hand side of `@@@` and `pdb.all()` to the right-hand side. ```sql SQL -- Top K executed by standard Postgres SELECT id, description, rating, category FROM mock_items WHERE rating IS NOT NULL ORDER BY rating LIMIT 5; -- Top K executed by ParadeDB SELECT id, description, rating, category FROM mock_items WHERE rating IS NOT NULL AND id @@@ pdb.all() ORDER BY rating LIMIT 5; ``` ```python Django from paradedb import All, ParadeDB # Top K executed by standard Postgres MockItem.objects.filter( rating__isnull=False ).order_by('rating')[:5] # Top K executed by ParadeDB MockItem.objects.filter( rating__isnull=False, id=ParadeDB(All()) ).order_by('rating')[:5] ``` ```ruby Rails # Top N executed by standard Postgres MockItem.where.not(rating: nil).order(:rating).limit(5) # Top N executed by ParadeDB MockItem.search(:id) .match_all .where.not(rating: nil) .order(:rating) .limit(5) ``` This is useful for cases where queries that don't contain a ParadeDB operator can be more efficiently executed by ParadeDB vs. standard Postgres, like [Top K](/documentation/sorting/topk) or [aggregate](/documentation/aggregates/overview) queries.