Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите с оптимизацией, пжалста.... :-)
|
|||
|---|---|---|---|
|
#18+
Такая проблемка: - Informix IDS 9.20.FC3 на HP Tru64 UNIX - табличка 10000 записей по 248 полей (так получилось ...) - создан 1 клустерный индекс и 2 обычных индекса по тем полям, по которым делается select так вот: при запросе <select field1,field2 [или *] from table1 where field1 = 'XXX'>, то работает осень долго ~30-40 секунд, а при запросе <select field1,field2 from table1 where field1 like 'XXX%%'> - около 1-2 секунд.Далее. При запросе <select field1 from table1 where field1 = 'XXX'> - тоже быстро (1 сек.) Индекс клустерный на поле field1, простой индекс на поле field2. Поле field1 хранится в кодировке WIN-1251 (БД создана с поддержкой NLS). Заранее пасиба. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 13:37 |
|
||
|
Помогите с оптимизацией, пжалста.... :-)
|
|||
|---|---|---|---|
|
#18+
Похоже информикс не подозревает что в таблице 10000. update statistics high for table table1(field1,field2) Кури мануал по вопросам статистики, планов выполнения запросов. hints: 1. 248 полей это слишком, я бы переделал. select * из такой таблицы лучше не делать (план может кардинально отличатся от select field1,field2) 2. И вообще что такое клустерный индекс? уникальный или кластерный? 3. Кластерный индекс не имеет смысла если создавать на пустой таблице. 4. Индексы бывают композитными т.е. для select field1,field2 from table1 where field1 = 'XXX' можно создать индекс table1(field1,field2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 14:37 |
|
||
|
Помогите с оптимизацией, пжалста.... :-)
|
|||
|---|---|---|---|
|
#18+
колонка случайно не дату обозначает? Видал я извращения типа колонки даты, а строки счета с остатками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 15:23 |
|
||
|
Помогите с оптимизацией, пжалста.... :-)
|
|||
|---|---|---|---|
|
#18+
Денису: пасибо за советы, буду пробовать. клустерный индекс - сиречь кластерный, создан был уже после добавления данных в таблицу(не на пустой) Еще вопрос - а как работают индексы? т.е. при изменении данных в таблице они пересоздаются автоматом или нет? cpr'у: колонка обозначает не даты а имена объектов (судов). Еще такая идея - сделать field1 like 'XXX%%', а по его результатам сделать field1 = 'XXX'. Может это также ускорит работу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 15:56 |
|
||
|
Помогите с оптимизацией, пжалста.... :-)
|
|||
|---|---|---|---|
|
#18+
Денису: скажи, плиз, а какой мануал надо курить по вопросам статистики? Уж не перформанс гайд ли? Еще раз спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 16:04 |
|
||
|
Помогите с оптимизацией, пжалста.... :-)
|
|||
|---|---|---|---|
|
#18+
авторклустерный индекс - сиречь кластерный, создан был уже после добавления данных в таблицу(не на пустой) Дело в том что при дальнейших изменениях таблицы записи не будут складыватся в порядке индекса, IMHO кластерные индексы помогают очень редко, у меня таких случаев обычно нет, я давно от них отказался. авторЕще вопрос - а как работают индексы? т.е. при изменении данных в таблице они пересоздаются автоматом или нет? они изменяются при изменении содержимого полей по которым они построены, читай о B-tree index. авторЕще такая идея - сделать field1 like 'XXX%%', а по его результатам сделать field1 = 'XXX'. Может это также ускорит работу?Обычно не имеет смысла, т.к. = 'XXX' более строгое условие и индекс должен использоваться. Индекс не будет использоваться грубо говоря в случаях: если содержимое field1 XXX во всех строках в запросе присутствует order by yyy и идет оптимизация на first_rows количество строк "<=3" (по мнению оптимизатора) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 16:17 |
|
||
|
Помогите с оптимизацией, пжалста.... :-)
|
|||
|---|---|---|---|
|
#18+
авторДенису: скажи, плиз, а какой мануал надо курить по вопросам статистики? Уж не перформанс гайд ли? Еще раз спасибо! Наверно перформанс гайд, для начала почитай на русском ftp://no-more.kiev.ua/pub/inf/ix_book.pdf]"Введение в Informix" Глава 5. Оптимизация запросов. И другие книги: http://www.informix.com.ua/books.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 16:27 |
|
||
|
Помогите с оптимизацией, пжалста.... :-)
|
|||
|---|---|---|---|
|
#18+
Денис! Огромное пасиба! После update statistics усе залетало!!! И за ссылочки отдельное спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 16:58 |
|
||
|
Помогите с оптимизацией, пжалста.... :-)
|
|||
|---|---|---|---|
|
#18+
авторДенис! Огромное пасиба! После update statistics усе залетало!!! И за ссылочки отдельное спасибо! Куда он денется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 17:13 |
|
||
|
Помогите с оптимизацией, пжалста.... :-)
|
|||
|---|---|---|---|
|
#18+
При подобных проблемах первым делом надо смотреть план выполнения, который пишется в файл sqexplain.out если перед селектом поставить set explain on; В таком вот аксепте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2004, 21:46 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=32428334&tid=1609312]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 123ms |

| 0 / 0 |
