|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
Собсно сабж :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 18:13 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
Да. Есть такая штука директивы оптимизатору. select {+index TABLENAME INDEXNAME} * from TABLENAME Но, в принципе это не нужно, иногда опасно. Стандарт СКУЛЬ этого вроде не поддерживает. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2003, 20:40 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
А про "опасно" можно подробнее? Я этим активно пользуюсь в ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2003, 14:19 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
Предположим соединяются 2 таблицы, ты пропишешь индекс одной из таблиц, распределение кардинально изменится, и оптимальным планом станет план с другим индексом, а информикс будет ходить по старому (рекомендованному). Ественно для продвинутого DBA, который рубит оптимизатор, и знает как растут данные (изменяется распределение) никакой опасности нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2003, 13:34 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
Понятно ;-) Я естествено учитываю селективность индексов. Кстати с ХП несколько раз нарывался на ситуацию, когда нормально работающая в течении продолжительного времени процедура вдруг начинала тормозить. Это убиралось пересозданием ХП или перестройкой ее статистики, но в дальнейшем опять повторялось. Вылечить это удалось только директивами оптимизатора. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2003, 14:31 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
Хотелось бы уточнить а на какой версии Informix-а это возможно? У меня 7.31.UC5 и он мне в експлейне говорит : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
145_740 индекс по полю "currency" таблицы account ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2003, 16:07 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
хаха. У автоиндекса первый символ пробел!!! Делай так. select {+index account " 145_740"} * PS: Мы не делаем автоиндексы. Всегда создаем вручную. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2003, 16:38 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
я все же думаю что должны быть еще скобки этот запрос принимает директиву, set explain on; select /*+index (rate rate1)*/ * from rate where currency == '810' and dateop == '01.01.2003' а этот нет set explain on; select /*+index rate rate1*/ * from rate where currency == '810' and dateop == '01.01.2003' ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2003, 20:33 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
Да скобки должны быть. Писал по памяти, описался. Вообще я думаю что товарищу надо совсем не это. Ему бы статистику собрать. А не парится с директивами. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2003, 08:58 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
ХЗ Я лично статистику в своей БД не собираю, тк на это нужно часов 10 или более. Рано или поздно при приличных объемах придется ручками оптимизацию проводить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2003, 14:05 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
Я лично статистику в своей БД не собираю Ну и зря. тк на это нужно часов 10 или более. Можно не каждый день, и не по всей таблице (RTFM). Рано или поздно при приличных объемах придется ручками оптимизацию проводить. Головой надо работать, а не руками. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2003, 14:58 |
|
Можно ли прописать ручками какой нужно взять индекс ???
|
|||
---|---|---|---|
#18+
Лично мое мнение - если характеристики распределения практически не меняются, то ни к чему статистику собирать. Разве что для того чтобы процессоры загрузить. Правильно подобрать директиву - как раз и есть работа головой. В ситуации, когда я завишу от оптимизатора INFORMIX мне совсем не улыбается собирать статистику и ждать чуда. К тому же при моих объемах данных ошибка оптимизатора может увеличить время формирования отчета например с минуты до многих часов. Тем более, что лично мне приходилось натыкаться на ситуации, когда оптимизатор при собранной статистике выбирал намного более дорогостоящий путь. Если бы оптимизатор всегда решал задачу идеально, то set explain был бы не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2003, 20:45 |
|
|
start [/forum/topic.php?fid=44&fpage=69&tid=1609401]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 326ms |
total: | 438ms |
0 / 0 |