
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.09.2005, 23:41
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
Замучился уже, не могу понять почему запросы с ORDER BY информикс выполняет очень долго. в 10 время выполнения увеличивается Подскажите в чем может быть дело, раньше такого небыло... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 01:42
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
Для получения любого ответа достаточно задать любой вопрос. Для получения правильного ответа надо задавать правильный вопрос. В правильный вопрос в данном форуме входит : - название используемой ОС ; - номер версии информикса; - образец запроса; - план запроса, сгенерированный set explain - подробный рассказ о предпринятых шагах, начиная с "я выполнил update statistics.." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 10:05
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
Исправляюсь... - название используемой ОС ; Machine hardware: sun4u OS version: 5.8 Processor type: sparc Hardware: SUNW,Sun-Fire-280R - номер версии информикса; Informix Dynamic Server 2000 Version 9.21.UC5 -- On-Line -- Up 01:14:22 -- 155648 Kbytes - образец запроса; без сортировки select * from student ; - 15сек с сортировкой select * from student order by fio ; - 30 мин - план запроса, сгенерированный set explain без сортировки: QUERY: ------ select * from student Estimated Cost: 13082 Estimated # of Rows Returned: 24664 1) and.student: SEQUENTIAL SCAN с сортировкой: QUERY: ------ select * from student order by fio Estimated Cost: 344549 Estimated # of Rows Returned: 24664 Temporary Files Required For: Order By 1) and.student: SEQUENTIAL SCAN - подробный рассказ о предпринятых шагах, начиная с "я выполнил update statistics.." перезапустил информикс выполнил update statistics запустил запросы и в чем же дело? Могу еще любую статистику дать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 11:22
|
|||
|---|---|---|---|
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
alander ... Temporary Files Required For: Order By ... Есть ли у вас в переменной ONCONFIG DBSPACETEMP прописанные временные пространства ? Если нет то возможно идет создание временных файлов на ФС, из-за чего могут быть тормоза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 11:39
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
Да, есть... А как вообще информикс сортирует большие массивы. Там 20000 записей и каждая по 5Кб. Можно его заставить использовать под это дело память? И еще такой вопрос как выделить под информикс больше памяти, ато на машине 4Гб, используются 500Мб, а база большая - около 3Гб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 11:42
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
alander - образец запроса; без сортировки select * from student ; - 15сек с сортировкой select * from student order by fio ; - 30 мин - план запроса, сгенерированный set explain без сортировки: QUERY: ------ select * from student Estimated Cost: 13082 Estimated # of Rows Returned: 24664 1) and.student: SEQUENTIAL SCAN с сортировкой: QUERY: ------ select * from student order by fio Estimated Cost: 344549 Estimated # of Rows Returned: 24664 Temporary Files Required For: Order By 1) and.student: SEQUENTIAL SCAN - подробный рассказ о предпринятых шагах, начиная с "я выполнил update statistics.." перезапустил информикс выполнил update statistics запустил запросы и в чем же дело? Могу еще любую статистику дать... Вы не сказали, создан ли индекс по этой таблице, где первым полем в ключе указано fio. Если его нет, то создайте: create index student_fio on student (fio); update statistics high for table student (fio); И еще: структуры таблицы Вы тоже не привели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 11:48
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
Мне не нужен индекс на этой таблице. У меня проблема в том, что сортировка стала в принципе медленно работать, по всем таблицам и любым полям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 11:55
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
alanderМне не нужен индекс на этой таблице. У меня проблема в том, что сортировка стала в принципе медленно работать, по всем таблицам и любым полям Это тоже тема для разговора (но отдельного) - почему по всем медленно. Но в данном случае я вижу последовательный просмотр и выполнение дорогостоящей сортировки там, где сам бог велел использовать индекс. Почему же он Вам не нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 16:40
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
alanderДа, есть... А как вообще информикс сортирует большие массивы. Там 20000 записей и каждая по 5Кб. Можно его заставить использовать под это дело память? И еще такой вопрос как выделить под информикс больше памяти, ато на машине 4Гб, используются 500Мб, а база большая - около 3Гб Большие массивы сортирует с помощью DBSPACETEMP (если правильно установлен в onconfig). Может у Вас места в нем маловато для сортировки слиянием? Память для сортировок берется из BUFFERS. Попробуйте его увеличить, раз так много свободной памяти. Кстати select без order by тоже быстрым не назовеш. Пусть сисадмин проверит дисковую систему на предмет производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 16:44
|
|||
|---|---|---|---|
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
alanderА как вообще информикс сортирует большие массивы. Там 20000 записей и каждая по 5Кб. Можно его заставить использовать под это дело память? Можно, но трудно :) Есть такое понятие, как PDQ (Parallel Data Query) - подробнее почитать в руководстве администратора (для этой версии есть даже на русском) http://www.informix.com.ua/cgi-bin/rusdoc.pl?sort=1&head=&foot= "IDS2000 Руководство администратора. том 2 1999" (5.4 MB) PDQ позволяет выделять процессам память большими кусками, а с версии IDS10 есть даже параметр для выделения больших сегментов памяти специально под сортировку даже процессам без PDQ. Если сортируемый массив не помещается в оперативную память, то происходит сброс во временные файлы на дисках. Пространство, которое для этого используется, описывается как различными переменными окружения, так и конфигурационными параметрами в onconfig (см. DBSPACETEMP, PSORT_NPROCS) alanderИ еще такой вопрос как выделить под информикс больше памяти, ато на машине 4Гб, используются 500Мб, а база большая - около 3Гб Можно увеличить размер буфферного пула (Buffers), размер сегмента разделяемой памяти (SHMVIRTSIZE ), но не забывай, что для увеличения этих параметров нужны изменения параметров в ОС (см. Release Notes для своей версии на своей платформе). Все 4Г для этой версии вряд ли удастся задействовать, хотя тут ранее были предложения (см. данный форум) задействовать механизм виртуального диска и размещать на него временнные пространства для ускорения сортировок в том числе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 17:51
|
|||
|---|---|---|---|
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
r2yПамять для сортировок берется из BUFFERS. А откуда такая информация ? Можно источник или ссылку ? r2yКстати select без order by тоже быстрым не назовеш. Пусть сисадмин проверит дисковую систему на предмет производительности. Очень правильно. Думаю, что если стоит RAID (да еще и 5-го уровня), то симптомы очень похожи на выход из строя одного из дисков (резкое замедление вв/выв) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 18:10
|
|||
|---|---|---|---|
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
r2yКстати select без order by тоже быстрым не назовеш. alanderтам 20000 записей и каждая по 5Кб. 100Мб за 15 сек, не так уж и медленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 18:35
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
vasilis[quot r2y]Память для сортировок берется из BUFFERS. А откуда такая информация ? Можно источник или ссылку ? Наврал :) Память для сортировки до 128Кб выделяется без PDQ - а buffers используется для IO (и Read Ahead). 2 Daugava А скорость в ~7Мб/сек для правильно настроенного raid на чтение меня бы не устроила. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 22:50
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
alanderДа, есть... А как вообще информикс сортирует большие массивы. Там 20000 записей и каждая по 5Кб. Можно его заставить использовать под это дело память? И еще такой вопрос как выделить под информикс больше памяти, ато на машине 4Гб, используются 500Мб, а база большая - около 3Гб либо увеличьте , либо сбросьте в 0 параметр SHMTOTAL в config файле. Ваши данные занимают примерно 100M. Если вы ограничили объем используемой памяти, и всю ее отдали под буфера, то естественно информикс будет гонять байты туда-сюда. Макс. объем который 32битный информикс может использовать на солярисе - 2.75GB. Буфера под сортировку не используются. Какие изменения вносили с момента "раньше такого не было" ? меняли конфигурацию, версию, диски, железо, удаляли индексы , были падения сервера ? Посмотрите (onstat -g ioa ), куда он сбрасывает данные в процессе сортировки - я подозреваю, ваш TEMPDBSPACE не работает и сортировочные файлы сохраняются на диск. И покажите ваш config file. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2005, 12:08
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
Извините, вовремя ветку форума не закрыл, я разобрался с чем это было свазяно... Нужно было выделить память для сортировки. Сделано это было так: DS_TOTAL_MEMORY 2097152 # Decision support memory (Kbytes) DS_NONPDQ_QUERY_MEM 524288 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2005, 14:25
|
|||
|---|---|---|---|
|
|||
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
alander... DS_NONPDQ_QUERY_MEM 524288 Вау, супер, не знал о таком параметре. Наконец-то сделали, похоже в 9.40.xC4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2005, 17:39
|
|||
|---|---|---|---|
Очень медленно работают запросы с ORDER BY |
|||
|
#18+
alander...Нужно было выделить память для сортировки. Сделано это было так: DS_TOTAL_MEMORY 2097152 # Decision support memory (Kbytes) DS_NONPDQ_QUERY_MEM 524288 1. Для указанной тобой версии сервера (Informix Dynamic Server 2000 Version 9.21.UC5 -- On-Line -- Up 01:14:22 -- 155648 Kbytes) второй параметр (DS_NONPDQ_QUERY_MEM) вряд ли подойдет. Я уже ранее писал, что "с версии IDS 10.0 есть даже параметр для выделения больших сегментов памяти специально под сортировку даже процессам без PDQ". 2. DS_TOTAL_MEMORY выделяет память не под сортировку, а общий объем памяти, выделяемый под процессы PDQ (DSS), причем каждому такому процессу будет выделяться порция DS_TOTAL_MEMORY/DS_MAX_QUERIES. P.S. И с проблемой, мне кажется, ты не разобрался, хотя наводящие вопросы тебе задавали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=44&tablet=1&tid=1608910]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
75ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 420ms |

| 0 / 0 |
