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