|
|
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
Задача: создать индекс из нескольких двух колонок таблицы. Вопрос: как неинтуитивным путем понять в каком порядке их расположить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:01 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
--Eugene--, Почитай Льюиса, прокачаешь свою интуицию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:02 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
Для начала, придумай запросы, которые будут типичны для этой таблички и которым понадобится индекс Если всегда на равенство обоих колонок, то выбирай первую менее селективной и включи COMPRESS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:06 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровЕсли всегда на равенство обоих колонок, то выбирай первую менее селективной и включи COMPRESSА я бы в таком случае выбрал в качестве первой наиболее селективную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:09 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
А смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:21 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровА смысл? Мало - ли, вдруг по высоко-селективному браться нет-нет, а таки придется. А низкоселективному индекс как мертвому припарка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:41 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
С первым малоселективным можно INDEX SKIP SCAN делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:51 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
Товагищи, подскажите как вычислить селективность колонки для данного случая (с учетом перекоса данных, если таковой закономерен)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 13:58 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
Ну дык по-этому и был вопрос по поводу запросов Также, понятно, что для уникального столбца второй нужен только для невляпывания в саму табличку -- тут естественно, первым уникальный, а лучше вообще IOT Но, вот скажем, табличка тех же платежей/звонков и т.п. где есть дата и контора За один день у определенной конторы в среднем было 10 платежей, но с другой стороны там 10000 контор (из которых как правило, большая часть мертвых), а в день совершается 10000 платежей/звонков (но даты с секундами) -- в одну секунду в среднем 8. Дата здесь селективней, вот только в здравом уме никто не сделает индекс (дата, контора) Наверное, таки, небольшая подмена понятий :-) Ну и естественно, тестирование -- лучший арбитр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:03 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
Короче, я опять какую-то херню понес Надо интересоваться у ТС, что есть, как собирается обращаться и что, собственно говоря, хочет получить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:08 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
Ёпт, я думал, есть какой-то общий подход.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:18 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
--Eugene--, Да, выглядит он так - почитай Льюиса, сначала поставь колонки по убыванию/возрастанию селективности, потом потестируй на реальных запросах по логике твоего бизнеса и выбери наиболее удобный лдя тебя вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:54 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
Еще раз -- самое главное, какие запросы туда будут, с какими предикатами и что ты от этого индекса ждешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 14:57 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
IMHO если индексы построили правильно (реально по тем двум колонкам, которые нужны) и запросов, где поиск идет по одной из колонок нет - то IMHO в 90% случаев, в реальной системе, будет "фиолетово". Т.к. в большинстве случае, ошибаются уже на первом шаге, выбор индексов и колонок которые требуются, то система будет "стоять колом" в независимости от порядка полей ))) Лично я этим никогда не заморачивался, а порядок колонок указывал в "интиетивно понятном" виде ))) В тех 1-10% процентов случаев, где это важно - очень большая таблица или очень специфическое распределение данных или очень специфические запросы/план, такой выбор по "общим правилам" сформулированым на форуме все равно не сделать. Будет очень сильно зависит от конкретной проблемы с производительностью. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 15:30 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, +1 но еще хочется добавить, иногда индексы приходиться убивать чтобы другие индексы начали работать без велосипедов. поэтому перед созданием очередного шедевра необходимо сначала посмотреть что за шедевры уже создавали до тебя) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 16:29 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
--Eugene--, А зачем вам индекс из 2х колонок? Почему не подойдет из одной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 17:45 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
ind_14, ну допустим таблица партицирована двухуровнево (списками), а индекс нужен локальный по первичному ключу (который есть суть третья колонка) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 18:17 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
трехколоночный индекс нужен в идеале, не двух ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 18:19 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
ind_14Почему не подойдет из одной?Стоило бы начать с количества строк. Зачем нужно хранить более одной строки, достаточно хранить одну самую любимую. Тогда и индексов не понадобится вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 18:27 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
-2-достаточно хранить одну самую любимую. Тогда и индексов не понадобится вообще.пошел выбирать самую любимую строку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2017, 18:31 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
--Eugene--ind_14, ну допустим таблица партицирована двухуровнево (списками), а индекс нужен локальный по первичному ключу (который есть суть третья колонка) Какой смысл первичный ключ делать локальным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2017, 11:34 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
fortnet, Я не собираюсь делать индекс первичного ключа локальным (хотя, может быть, имело бы смысл, не рассматривал идею). Индекс первичного ключа так и остается несекционированным. Но рядом будет составной локальный индекс, включающий как ключи секционирования, так и первичного ключа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2017, 12:19 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
fortnet, например, exchange partition including indexes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2017, 17:45 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
kaldorey, + возможно отключения частями при вставке и частичного ребилда. И добавление колонки партиционирования может уменьшить высоту индекса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2017, 09:55 |
|
||
|
Порядок расположения колонок составного индекса
|
|||
|---|---|---|---|
|
#18+
kaldorey, влияние на производительность этой редкой операции мизерно, а проблемы с ожиданиями во время вставки в таблицу из-за проверки ограничения по ключу будут вполне ощутимыми. --Eugene-- Но рядом будет составной локальный индекс, включающий как ключи секционирования, так и первичного ключа. Первичный ключ судя по предыдущему посту не составной. Можете привести пример, где необходим такой составной локальный индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2017, 10:41 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39400173&tid=1886399]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
200ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 546ms |

| 0 / 0 |
