28 lines
2.2 KiB
Markdown
28 lines
2.2 KiB
Markdown
---
|
|
aliases:
|
|
tags:
|
|
- maturity/🌱
|
|
date: 2024-03-31
|
|
linked:
|
|
---
|
|
[[../Составной индекс в БД|Составные индексы]] в PostgreSQL позволяют ускорить выполнение запросов, в которых используются несколько колонок одновременно. Однако важно учитывать особенности их частичного использования.
|
|
|
|
При выполнении запроса составной индекс может использоваться до первого неравенства включительно. Это означает, что при встрече оператора неравенства (`>`, `<`, `>=`, `<=`) индекс перестает быть эффективным для последующих колонок.
|
|
|
|
Например, в запросе `a = 0 AND b > 3 AND c > 5` индекс будет использоваться для колонок `a` и `b`, но не для `c`, так как оператор неравенства для `b` ограничивает дальнейшее использование индекса.
|
|
|
|
- `a > 0 AND b = 4`: Индекс будет использоваться для всех колонок, несмотря на то, что первая часть — это неравенство.
|
|
- `a = 0 AND b > 3 AND c = 3`: Индекс будет использоваться для первых двух колонок. После неравенства индекс уже не применяется.
|
|
- `a = 0 AND b > 3 AND c > 3`: Индекс будет использоваться для первой и второй колонки.
|
|
***
|
|
## Мета информация
|
|
**Область**:: [[../../../meta/zero/00 PostgreSQL|00 PostgreSQL]]
|
|
**Родитель**:: [[../Составной индекс в БД|Составной индекс в БД]], [[Индекс в PostgreSQL]]
|
|
**Источник**::
|
|
**Автор**::
|
|
**Создана**::
|
|
### Дополнительные материалы
|
|
-
|
|
### Дочерние заметки
|
|
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|