Вниз
Скачать: CL | DM;

Уникальные индексы и констрейнты   Найти похожие ветки 

 
den_777   (2004-05-26 15:38) [0]

Может где в документации и есть, но хочется узнать от мастеров чем отличается
ALTER TABLE MYTABLE1 ADD CONSTRAINT UNQ_1 UNIQUE (FIELD1);
от
CREATE UNIQUE INDEX IDX_UQ1 ON MYTABLE1 (FIELD1);
насколько я понимаю в первом случае все равно создается индекс, только системный со своим именем RDB$XXXXX
Так в чем тогда различие(не в синтаксисе конечно, а на уровне базы данных)


 
Sandman25+1   (2004-05-26 15:45) [1]

(Уникальный) индекс создается с целью ускорить поиск.
Констрейнт на уникальность создается с целью гарантировать логическую целостность данных.
Резюмируя, скажу, что разницы с точки зрения БД я не вижу.


 
den_777   (2004-05-26 15:55) [2]


> (Уникальный) индекс создается с целью ускорить поиск.

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

> Констрейнт на уникальность создается с целью гарантировать
> логическую целостность данных.

Уникальный индекс вроде тоже самое делает

И все же зачем две аналогичные вещие существуют параллельно в SQL


 
Sandman25+1   (2004-05-26 16:18) [3]

[2] den_777   (26.05.04 15:55)

Уникальный индекс ускоряет лучше - нет необходимости проверять наличие дубликатов.

>Уникальный индекс вроде тоже самое делает

С точки зрения проектировщика БД, в таком случае нужно писать constraint, а не создавать индекс.


 
Johnmen ©   (2004-05-26 16:19) [4]

>И все же зачем две аналогичные вещие существуют параллельно в SQL

Какие две вещи ?
Индексы и констрейнты это разные вещи. Но в частном случае (в вопросе) это с т.з. функционирования одно и то же, о чем и сказали уже...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
1-1086256683
Ruslan
2004-06-03 13:58
2004.06.20
Есть массив байт (Array of Byte) . Как в него поместить число ?


14-1086339695
Nick-From
2004-06-04 13:01
2004.06.20
Еду в командировку первый раз


1-1086392866
rtf
2004-06-05 03:47
2004.06.20
Прозрачный Combobox


1-1086350896
Energy
2004-06-04 16:08
2004.06.20
Как мне сделать описание OnClick


14-1086341153
De$criptR
2004-06-04 13:25
2004.06.20
Как сделать список компонентов чужой программы




   Наверх