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