---
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.

<CodeGroup>
```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)
```

</CodeGroup>

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.
