Informix запрос медленный - PullRequest
1 голос
/ 22 ноября 2010

IDS 9.04 в unix.

Я получил таблицу, в которой 200 000+ строк, в каждой строке 200+ столбцов.когда я выполняю запрос (должен вернуть 470+ строк с 50 столбцами) для этой таблицы, требуется более 100 секунд для возврата, и dbvisualizer сказал мне:

время выполнения: 4,87 секунды время выборки: 97,56 секунды

если я экспортирую все 470+ строк в файл, размер файла будет меньше 800 КБ

ОБНОВЛЕНО СТАТИСТИКА, выбрано только 50 столбцов, без BLOB-объектов, если я выберу первые 100ряды, это только нужно 5 секунд, чтобы вернуться.

Помогите, плз!

Ответы [ 2 ]

0 голосов
/ 05 февраля 2013

Использование:

установить объяснение избежать_execute;

YOUR_QUERY

установить объяснение выключено;

И просмотрите файл sqexplain.out в вашей папке.

0 голосов
/ 22 ноября 2010

Если SELECT FIRST 100 занимает всего несколько секунд, это означает, что план запроса для FIRST_ROWS кардинально отличается от плана запроса для ALL_ROWS.

Попробуйте выполнить запрос с помощью SET EXPLAIN ON;как с, так и безЭто может дать вам подсказку, что происходит.

...