digital-garden/_inbox/Составные индексы в PostgreSQL.md

22 lines
1.7 KiB
Markdown
Raw Normal View History

2024-06-13 21:01:37 +03:00
---
aliases:
tags:
- зрелость/🌱
date:
- - 2024-03-31
zero-link:
- "[[00 PostgreSQL]]"
parents:
- "[[Индекс в PostgreSQL]]"
linked:
---
Составным называется индекс, который включает в себя несколько полей.
==В составных индексах важен порядок столбцов.== Порядок полей в индексе должен учитывать [селективность каждой колонки](Селективность%20колонки.md), то есть насколько уникальными являются значения в столбце. В идеале более селективные поля должны идти первыми в индексе, чтобы максимизировать эффективность индекса. ^630c7e
При поиске по составному индексу, сначала сравн иттвается первый элемент указанный в индексе, потом второй и так далее. Поэтому запросы, которые не следуют этому порядку колонок являются не оптимальными.
Частичное использование индекса. Используется до первого неравенства.
- a > 0 and b = 4. Индекс будет использоваться для всех колонок
- a = 0 and b > 3 and c = 3. Индекс будет использоваться для первых двух колонок,
- a = 0 and b > 3 and c > 3. Индекс будет использоваться только для первой колонки.