Gallemar |
---|
по поводу индексов я слышу два разных мнения - одни говорят что делать необходимо, другие что это ничего не даст. |
слышу от кого?
select * from employee
where emp_no > 0
да, ничего не даст, потому что оптимизатору тут деваться некуда - есть один индекс, и есть одно условие, под которое этот индекс попадает. Поэтому пересчитывать статистику или нет - в данном случае не влияет.
Другое дело, когда условий и др. критериев несколько, и индексов несколько - у оптимизатора есть выбор, и выбор он делает на основе кардинальности таблиц и селективности имеющихся индексов.
Если при пересчете селективность индекса не меняется, значит данные в таблице (или в столбце) не меняются, и пересчет ничего не даст. Об этом мне даже стыдно говорить.
на этом я ОБУЧЕНИЕ заканчиваю, и на подобные вопросы больше не отвечаю. Если в справке к IBAnalyst написано непонятно - советую перечитать еще раз (и еще раз).