digital-garden/_inbox/Составные индексы в PostgreSQL.md
2024-06-13 21:01:37 +03:00

22 lines
1.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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. Индекс будет использоваться только для первой колонки.