Опять про неуникальные индексы

2006-04-07 Thread Konstantin R. Beliaev


Понятно, что сильно неуникальный индекс - это плохо, вопрос: насколько?
Точнее: если у таблицы имеется индекс с селективностью, ну, скажем, 0.1, 
и при апдейте меняется НЕ индексное поле, будет этот индекс оказывать 
влияние на скорость апдейта или нет?


Вопрос вырос из размышлений: создавать ли FK на справочник, в котором 
порядка 10 значений, или обойтись триггерами.




Re: Опять про неуникальные индексы

2006-04-07 Thread Horsun Vlad

"Konstantin R. Beliaev" ...
>
> и при апдейте меняется НЕ индексное поле, будет этот индекс оказывать
> влияние на скорость апдейта или нет?

Никакой индекс не изменяется, если не изменяется его ключ.

В ОДС10 селективность индекса вообще не влияет на операцию вставки
ключа, ибо номер записи вставляются в начало цепочки дубликатов ключа.

В ОДС11 цепочки дубликатов отсортированны, так что вставка будет
чуть медленнее, но это затраты CPU, затраты IO не изменились

-- 
Хорсун Влад




Re: Опять про неуникальные индексы

2006-04-07 Thread Konstantin R. Beliaev


Horsun Vlad wrote:

и при апдейте меняется НЕ индексное поле, будет этот индекс оказывать
влияние на скорость апдейта или нет?


Никакой индекс не изменяется, если не изменяется его ключ.


Я несколько запутался: при апдейте добавляется новая версия записи. 
Разве индекс не меняется так чтобы указывать на эту новую версию?
Или он указывает на начало цепочки версий и обновляется уже при сборке 
мусора?



В ОДС10 селективность индекса вообще не влияет на операцию вставки
ключа, ибо номер записи вставляются в начало цепочки дубликатов ключа.


А в ODS 8?