powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Порядок расположения колонок составного индекса
25 сообщений из 49, страница 1 из 2
Порядок расположения колонок составного индекса
    #39399987
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача: создать индекс из нескольких двух колонок таблицы.
Вопрос: как неинтуитивным путем понять в каком порядке их расположить?
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39399990
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--,

Почитай Льюиса, прокачаешь свою интуицию.
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39399995
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала, придумай запросы, которые будут типичны для этой таблички и которым понадобится индекс
Если всегда на равенство обоих колонок, то выбирай первую менее селективной и включи COMPRESS
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400005
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровЕсли всегда на равенство обоих колонок, то выбирай первую менее селективной и включи COMPRESSА я бы в таком случае выбрал в качестве первой наиболее селективную.
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400025
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А смысл?
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400062
Вячеслав ЛюбомудровА смысл?

Мало - ли, вдруг по высоко-селективному браться нет-нет, а таки придется. А низкоселективному индекс как мертвому припарка.
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400083
С первым малоселективным можно INDEX SKIP SCAN делать
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400097
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товагищи, подскажите как вычислить селективность колонки для данного случая (с учетом перекоса данных, если таковой закономерен)?
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400104
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну дык по-этому и был вопрос по поводу запросов
Также, понятно, что для уникального столбца второй нужен только для невляпывания в саму табличку -- тут естественно, первым уникальный, а лучше вообще IOT

Но, вот скажем, табличка тех же платежей/звонков и т.п. где есть дата и контора
За один день у определенной конторы в среднем было 10 платежей, но с другой стороны там 10000 контор (из которых как правило, большая часть мертвых), а в день совершается 10000 платежей/звонков (но даты с секундами) -- в одну секунду в среднем 8.
Дата здесь селективней, вот только в здравом уме никто не сделает индекс (дата, контора)
Наверное, таки, небольшая подмена понятий :-)

Ну и естественно, тестирование -- лучший арбитр
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400117
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, я опять какую-то херню понес

Надо интересоваться у ТС, что есть, как собирается обращаться и что, собственно говоря, хочет получить
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400133
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёпт, я думал, есть какой-то общий подход..
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400167
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--,

Да, выглядит он так - почитай Льюиса, сначала поставь колонки по убыванию/возрастанию селективности, потом потестируй на реальных запросах по логике твоего бизнеса и выбери наиболее удобный лдя тебя вариант.
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400173
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз -- самое главное, какие запросы туда будут, с какими предикатами и что ты от этого индекса ждешь
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400212
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO если индексы построили правильно (реально по тем двум колонкам, которые нужны) и запросов, где поиск идет по одной из колонок нет - то IMHO в 90% случаев, в реальной системе, будет "фиолетово".

Т.к. в большинстве случае, ошибаются уже на первом шаге, выбор индексов и колонок которые требуются, то система будет "стоять колом" в независимости от порядка полей )))

Лично я этим никогда не заморачивался, а порядок колонок указывал в "интиетивно понятном" виде )))

В тех 1-10% процентов случаев, где это важно - очень большая таблица или очень специфическое распределение данных или очень специфические запросы/план, такой выбор по "общим правилам" сформулированым на форуме все равно не сделать. Будет очень сильно зависит от конкретной проблемы с производительностью.

IMHO & AFAIK
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400258
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
+1
но еще хочется добавить, иногда индексы приходиться убивать чтобы другие индексы начали работать без велосипедов. поэтому перед созданием очередного шедевра необходимо сначала посмотреть что за шедевры уже создавали до тебя)
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400322
ind_14
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--,
А зачем вам индекс из 2х колонок? Почему не подойдет из одной?
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400364
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ind_14,

ну допустим таблица партицирована двухуровнево (списками), а индекс нужен локальный по первичному ключу (который есть суть третья колонка)
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400366
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
трехколоночный индекс нужен в идеале, не двух
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400375
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ind_14Почему не подойдет из одной?Стоило бы начать с количества строк. Зачем нужно хранить более одной строки, достаточно хранить одну самую любимую. Тогда и индексов не понадобится вообще.
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39400378
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-достаточно хранить одну самую любимую. Тогда и индексов не понадобится вообще.пошел выбирать самую любимую строку
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39401482
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--ind_14,

ну допустим таблица партицирована двухуровнево (списками), а индекс нужен локальный по первичному ключу (который есть суть третья колонка)

Какой смысл первичный ключ делать локальным?
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39401513
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortnet,

Я не собираюсь делать индекс первичного ключа локальным (хотя, может быть, имело бы смысл, не рассматривал идею). Индекс первичного ключа так и остается несекционированным.
Но рядом будет составной локальный индекс, включающий как ключи секционирования, так и первичного ключа.
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39401808
kaldorey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortnet,

например, exchange partition including indexes
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39402039
pihel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kaldorey,

+ возможно отключения частями при вставке и частичного ребилда. И добавление колонки партиционирования может уменьшить высоту индекса.
...
Рейтинг: 0 / 0
Порядок расположения колонок составного индекса
    #39402070
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaldorey,

влияние на производительность этой редкой операции мизерно, а проблемы с ожиданиями во время вставки в таблицу из-за проверки ограничения по ключу будут вполне ощутимыми.

--Eugene-- Но рядом будет составной локальный индекс, включающий как ключи секционирования, так и первичного ключа.



Первичный ключ судя по предыдущему посту не составной. Можете привести пример,
где необходим такой составной локальный индекс.
...
Рейтинг: 0 / 0
25 сообщений из 49, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Порядок расположения колонок составного индекса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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