индексы и первичные ключи

Alexus12
Дата: 20.09.2004 11:12:34
господа знатоки!
подскажите новичку две вещи плиз:

1. создаю таблицу, создаю constraint - primary key
А уникальный индекс по тем же полям тоже руками создавать?
или он уже будет создан "автоматически?"

2. есть составной индекс по двум (или трем) полям
Есть view из двух таблиц, соединение по ОДНОМУ из полей индекса
индекс работает?
или нужно создать отдельный индекс по этому полю?

3. та же ситуация 2, но не индекс, а primary key по нескольким полям,
а соединение по одному.
нужен доп.индекс на это поле?

спасибо!
Elic
Дата: 20.09.2004 11:18:07
1) Автоматически.
2) Если "ОДНО из полей индекса" - ведущее (первое) поле индекса, то индекс может быть использован.
3) См. 2)
Viewer
Дата: 20.09.2004 12:10:26
в дополнение к п.2 Elic-а, в качестве иллюстрации :)
если индекс по полям в порядке позиций полей в индексе f1 f2 f3
where f1= * индекс используется
where f2= * индекс не используется
where f2= and f3= * индекс не используется
where f2= and f1= * индекс используется
softwarer
Дата: 20.09.2004 14:10:33
Alexus12
1. создаю таблицу, создаю constraint - primary key
А уникальный индекс по тем же полям тоже руками создавать?
или он уже будет создан "автоматически?"

Если есть подходящий индекс - он будет использован, иначе - будет автоматически создан новый.

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

Это надо иметь в виду - поскольку из-за этого уничтожение ПК может кардинально сказаться на производительности.
Markelenkov
Дата: 20.09.2004 17:41:42
Viewer
...where f2= * индекс не используется
where f2= and f3= * индекс не используется...

В 9-ке появилась фича index skip scan, поэтому это не совсем верно.

softwarer
В восьмерке происходило следующее. При уничтожении ПК индекс автоматом уничтожался, если он был уникальный - вне зависимости от того, был ли он автоматически создан или использован. Неуникальный индекс оставался и продолжал действовать. В девятке не пробовал

В 9-ке то же самое.
whois
Дата: 20.09.2004 17:48:28
2 Alexus12. план выполнения запроса всегда покажет тебе, что реально используется
Fucker
Дата: 21.09.2004 09:47:16
whois
2 Alexus12. план выполнения запроса всегда покажет тебе, что реально используется


Смотря как он получен.

Народная мудрость гласит, что не все планы одинаково полезны. Например, план, полученный с помощью explain plan, может не совпадать с реальным планом выполнения предложения.

Fucker
MARINA_MAL
Дата: 21.09.2004 10:15:19
Privet!!
vot link no nemu ti poluchish otvet:
http://www.samoratech.com/tips/TipIndexOrderBy.htm

mne ot pomog