powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Целесообразность создания композитных индексов
25 сообщений из 31, страница 1 из 2
Целесообразность создания композитных индексов
    #38906625
Interloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеет ли смысл создавать композитные индексы по набору полей, если для каждого поля по отдельности уже есть индекс (например, это внешние ключи)? Если да, то в каких случаях?
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38906635
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Interloper,

есть если отбор часто идёт по сразу по всем полям входящих в композитный индекс. И естественно если селективность такого отбора высока.

Существенный выигрыш можно получить на таблицах которые обеспечивают связь N:M, особенно если на оба поля наложено ограничение уникальности (при этом индекс естественно становится уникальным)
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38906760
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Interloper!
You wrote on 17 марта 2015 г. 10:50:30:

Interloper> Имеет ли смысл создавать композитные индексы по набору полей, если для
> каждого поля по отдельности уже есть индекс (например, это внешние
> ключи)? Если да, то в каких случаях?
в общем случае смысла не имеет.
в частных случаях, при ОСОЗНАННОМ применении имеет право жить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38906861
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Interloper, композитный индекс, в лучшем случае, может заменить только индекс по первому столбцу. Отдельные индексы по следующим столбцам все равно придется создавать. Так что избыточность индексов невелика получается))
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38906883
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Interloperв каких случаях?
Если тщательно изучил http://ibase.ru/devinfo/dataaccesspaths.htm
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907034
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fd00chInterloper, композитный индекс, в лучшем случае, может заменить только индекс по первому столбцу . Отдельные индексы по следующим столбцам все равно придется создавать. Так что избыточность индексов невелика получается))
И как получаются выводы такие???
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907036
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fd00chкомпозитный индекс, в лучшем случае, может заменить только индекс по первому столбцу.Земляк, ты бредишь.
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907112
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky, что не так?
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907142
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Fd00ch!
You wrote on 17 марта 2015 г. 14:18:53:

Fd00chчто не так?всё не так.

индекс по полям (f1, f2, f3, f4)

условие отбора (f1, f2, f3) - индекс используется для всех трёх полей

условие отбора (f1, f2, f4) - индекс используется
только для f1 и f2.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907155
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий, отбор по f2+f3+f4 или по f3+f4 или по f4- индекс идет лесом
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907161
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Fd00ch!
You wrote on 17 марта 2015 г. 14:35:03:

Fd00chотбор по f2+f3+f4 или по f3+f4 или по f4- индекс идет
лесоместессссно
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907163
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fd00chотбор по f2+f3+f4 или по f3+f4 или по f4- индекс идет лесом
Мимопроходящийпри ОСОЗНАННОМ применении имеет право жить.
создание композита и не использование в отборе первого сегмента относится скорее к термину "ССЗБ", а не "ОСОЗНАННОМ".
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907199
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky, для развития темы: а есть какие-то среднепотолочные данные, на сколько % композит по 2-3 полям может обгнать отдельные индексы?

зы. я при осознанном осмыслении для себя решил, что бОльшая польза будет от частичных индексов и "партиционировании" таблиц. пичалька, что птичка такому не научится никогда
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907207
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fd00ch,

с чего это ты взял?

Firebird release strategy and roadmap for 2015/2016 Firebird 4.0 planning

Feature list (cont'd)

External database links, heterogenous queries
Bi-directional index navigation
Batch API operations
Implicit transactions
New data access paths, subquery transformations
Query timeouts
Partial indices
Shared metadata cache

планы конечно предварительные, но когда нибудь будет
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907214
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, "через 3 года" и "никогда" - для меня синонимы))
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907220
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fd00ch> есть какие-то среднепотолочные данные, на сколько
fd00ch> % композит по 2-3 полям может обгнать отдельные индексы?

Это даже не среднепотолочные, а насколько средняя температура
в травматологии выше средней температуры в реанимации.
В определенных случаях будет выше, в определенных - ниже, в
третьих зависит от и т.д. Впрочем, щас Таблоид придёт, намеряет
тебе по самые не балуй.

P.S. Сегодня, возможно, не мой день, но лично я никакой связи
между "частичными индексами" и "партиционированием таблиц"
не вижу, совсем никакой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907233
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийиндекс по полям (f1, f2, f3, f4)
условие отбора (f1, f2, f3) - индекс используется для всех трёх полей
поскольку в композитном индексе ключи второго и далее столбцов сгруппированы относительно предыдущего, полноценно композитный индекс будет использоваться только в случае

where f1 = x and f2 = y and f3 ...

для f3 может быт >, <, =.

Иначе, например, если
where f1 > x and f2 = y and f3 ...

то затраты на такой поиск будут эквивалентны поиску по одиночному индексу по f1.

InterloperИмеет ли смысл создавать композитные индексы по набору полей, если для каждого поля по отдельности уже есть индекс
не имеет. исключение - если ты для ORDER BY F1, F2, F3 хочешь получить в плане использование индекса, а не сортировку, то тогда придется создать индекс по F1+F2+F3. Но выгода выборки в порядке индекса есть только на малых объемах выборок. Большой объем выборки при таком плане приведет к адскому объему ввода-вывода (страниц с диска).
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907260
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvИначе, например, если
where f1 > x and f2 = y and f3 ...

то затраты на такой поиск будут эквивалентны поиску по одиночному индексу по f1.
затраты для композита будут больше
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907278
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> то затраты на такой поиск будут эквивалентны поиску по одиночному индексу по f1.

Нет, дороже выйдет, в зависимости от веса композита.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907398
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrзатраты для композита будут больше
да, я не то написал. имел в виду, что "процедурно" сервер будет использовать только первый сегмент индекса. А затраты конечно будут выше, т.к. композитный индекс "жирнее".
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907789
Interloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть выборки вида "where f1 = x and f2 = y", насколько создание композитного индекса по этим полям ускорит выполнение запросов в сравнении с двумя отдельными индексами по столбцам f1 и f2?
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38907799
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Interloperнасколько создание композитного индекса по этим полям ускорит выполнение запросов в сравнении с двумя отдельными индексами по столбцам f1 и f2?создать табличку на пару колонок и десяток миллионов записей дело нескольких минут, загнал запрос и проверил.
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38908132
Interloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

Меня интересует мнение сообщества. Я предполагаю, что заметного выигрыша не будет.
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38908140
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InterloperМеня интересует мнение сообщества.
Мнение сообщества не имеет значения в свете информации, приведённой по данной мною выше
ссылке. Движку на это мнение глубоко наплевать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Целесообразность создания композитных индексов
    #38908189
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Interloper,

Выигрыш будет только если будут задействованы все сегменты индекса, иначе индекс по отдельному полю выиграет.
Какой будет выигрыш хз. Мерить надо, может быть 10-20%, а может и не быть. Мало это или много решать разработчику.
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Целесообразность создания композитных индексов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]