> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-vortex-format.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> System table listing hypothetical (what-if) indexes defined in the current session

# system.hypothetical_indexes

Lists every hypothetical (what-if) skip index defined in the current session. See [`CREATE HYPOTHETICAL INDEX`](/reference/statements/hypothetical-index#create-hypothetical-index) and [`EXPLAIN WHATIF`](/reference/statements/explain#explain-whatif).

The contents are session-scoped: each connection sees only its own hypothetical indexes, and the table is empty when no indexes have been created in the current session.

The current `(database, table)` are resolved by UUID at query time, so they reflect `RENAME TABLE` and entries for dropped tables are hidden automatically.

<h2 id="columns">
  Columns
</h2>

* `database` ([String](/reference/data-types/string)) — Database name
* `table` ([String](/reference/data-types/string)) — Table name
* `name` ([String](/reference/data-types/string)) — Index name
* `type` ([String](/reference/data-types/string)) — Index type (minmax, set, bloom\_filter, etc)
* `type_full` ([String](/reference/data-types/string)) — Index type expression with arguments, e.g. bloom\_filter(0.01)
* `expression` ([String](/reference/data-types/string)) — Index expression
* `granularity` ([UInt64](/reference/data-types/int-uint)) — Index granularity

<h2 id="example">
  Example
</h2>

```sql theme={null}
CREATE HYPOTHETICAL INDEX i1 ON t (b) TYPE bloom_filter(0.01)  GRANULARITY 1;
CREATE HYPOTHETICAL INDEX i2 ON t (b) TYPE bloom_filter(0.001) GRANULARITY 1;

SELECT database, table, name, type, type_full, expression, granularity
FROM system.hypothetical_indexes;
```

```text theme={null}
┌─database─┬─table─┬─name─┬─type─────────┬─type_full───────────┬─expression─┬─granularity─┐
│ default  │ t     │ i1   │ bloom_filter │ bloom_filter(0.01)  │ b          │           1 │
│ default  │ t     │ i2   │ bloom_filter │ bloom_filter(0.001) │ b          │           1 │
└──────────┴───────┴──────┴──────────────┴─────────────────────┴────────────┴─────────────┘
```

`type` is the base type name and `type_full` includes the arguments, so users can distinguish between parametrized variants like `bloom_filter(0.01)` and `bloom_filter(0.001)`.

<h2 id="see-also">
  See also
</h2>

* [`CREATE HYPOTHETICAL INDEX`](/reference/statements/hypothetical-index#create-hypothetical-index)
* [`EXPLAIN WHATIF`](/reference/statements/explain#explain-whatif)
