|
Составной индекс
|
|||
---|---|---|---|
#18+
FB 2.5. Есть уникальный индекс в таблице по полям "ID_ABONENT,ID_SERVICE,ID_PERIOD". Когда пытаюсь сделать уникальный индекс по полям "ID_ABONENT,ID_PERIOD,ID_SERVICE" (для ускорения выборок по абоненту и периоду), сервер дает отлуп: Код: plaintext 1. 2. 3.
Я согласен, что набор полей тот же самый, но порядок-то другой. Писать в трекер? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 08:14 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
CyberMax, Индекс и ограничение уникальности - не одно и то же. У тебя уже есть ограничение уникальности по этим трем полям. Ты пытаешься его продублировать, о чем сервер тебе и сообщает. Порядок полей в ограничении уникальности значения не имеет. Другой вопрос что для обеспечения работы этой проверки уникальности при этом создается индекс, порядок полей в котором может играть значение при сортировке или при выборке по части полей. Тогда просто создай дополнительный индекс через CREATE INDEX, или пересоздай ограничение уникальности указав иной порядок полей. Писать в трекер не вижу причины, вроде все логично. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 08:20 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
что-то мне подсказывает, что ты создаешь уникальный констрейнт, а не индекс. На что и получаешь справедливый отлуп. А если бы создавал именно уникальный индекс, то проблемы бы не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 08:21 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
Да, надо было создавать индекс, а не ограничение. Заработался. Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 08:28 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
dimitrА если бы создавал именно уникальный индекс, то проблемы бы не было. А в чем смысл уникального индекса? Вот построен такой индекс по неуникальному полю. В доке сказано что уникальный индекс не является ограничением уникальности. Т.е. по неуникальному полю или комбинации полей видимо построить можно, но для чего его на практике можно использовать и чем он лучше обычного индекса? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 11:29 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
уникальный индекс не является ограничением (constraint) с точки зрения терминологии, но вполне гарантирует уникальность физически. Так что по неуникальному (нуллы не считаем) полю его построить не получится. А лучше обычного (неуникального) он более предсказуемым поведением оптимизатора, не зависящим от возможно устаревшей статистики. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 11:34 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
fraksА в чем смысл уникального индекса?Обеспечивать уникальность. Сюрприз ? :) fraksВ доке сказано что уникальный индекс не является ограничением уникальности.В том смысле, что на него нельзя ссылаться c помощью FK ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 11:34 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
hvlad> В том смысле, что на него нельзя ссылаться c помощью FK На этом их отличия и заканчиваются, AFAIK. :) Ну и ещё то, что его можно сделать неактивным. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 11:42 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, индексы и ограничения - разные объекты. Некоторые ограничения используют индексы для своей реализации. Но это не означает знак равенства между ними. И не гарантирует, что такая реализация никогда не изменится. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 11:46 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
Я так и не понял - есть ли какие-то причины не создавать ограничение уникальности а вместо этого делать уникальный индекс? Или это только ради некоей совместимости оставлено? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 11:48 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
Я просто помню что в BDE для DBF был такой прикол - уникальный индекс создать можно, но ограничением уникальности он не являлся. Соответственно, если используя этот индекс искать некоторую запись то из множества записей с таким значением выдавалась только какая-нибудь одна :) Потом кажись это дело пофиксили, но к тому времени я уже завязал и с DBF и с BDE. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 11:51 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
hvlad> индексы и ограничения - разные объекты. Это в теории. Я же про практику говорю - на практике (в конкретной реализации) различий вроде ровно два (если я ничего не забыл). > И не гарантирует, что такая реализация никогда не изменится. Да, разумеется. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 12:02 |
|
Составной индекс
|
|||
---|---|---|---|
#18+
fraks> Я так и не понял - есть ли какие-то причины fraks> не создавать ограничение уникальности fraks> а вместо этого делать уникальный индекс? Я ж говорю - его деактивировать можно. Хотя такое редко бывает нужно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 12:03 |
|
|
start [/forum/topic.php?fid=40&msg=39451947&tid=1561597]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 273ms |
0 / 0 |