> ## Content Index
> Fetch the complete content index at: https://debugly.dev/llms.txt
> Use this file to discover other available public pages before exploring further.

# Why Your Index Is Not Used: Reading EXPLAIN ANALYZE
- URL: https://debugly.dev/postgres-index-not-being-used-explain-analyze/
- Published: 2026-06-08T09:40:00.000Z
- Updated: 2026-10-23T09:13:02.000Z
- Description: You added the index and the query is still slow. Here is how to read a Postgres query plan properly and find the row estimate error causing it.
- Author: Rohit Bhadani
- Tags: PostgreSQL, Databases, Error Autopsy

| Node             | Means                                            | Concern when                                             |
| ---------------- | ------------------------------------------------ | -------------------------------------------------------- |
| Seq Scan         | Full table read                                  | Large table with a selective filter                      |
| Index Scan       | Index lookup plus heap fetch                     | Fine, but check loops                                    |
| Index Only Scan  | Answered from the index alone                    | Best case, check Heap Fetches is low                     |
| Bitmap Heap Scan | Collect matches then read heap in physical order | Normal for medium selectivity                            |
| Nested Loop      | For each outer row, probe inner                  | Dangerous when outer rows are underestimated             |
| Hash Join        | Build a hash of one side                         | Watch for Batches greater than 1, which means disk spill |
| Merge Join       | Both sides sorted                                | Fine if inputs are already ordered                       |

---

Related reading: [The Connection String That Broke on a Special Character](https://debugly.dev/conn-string-special-char-password/) explores a connected angle.

Related reading: [relation does not exist for a Table That Is Definitely There](https://debugly.dev/postgres-42p01-relation-does-not-exist-search-path/) explores a connected angle.

Published on [debugly.dev](https://debugly.dev/) by [Rohit Bhadani](https://debugly.dev/about/) | Founder of [Krova Cloud](https://krova.cloud/?ref=debugly.dev)