Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизация запроса / 13 сообщений из 13, страница 1 из 1
23.03.2003, 18:05
    #32125257
ТопТоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
Есть две таблицы 1ая - примерно 400 тыс записей, 2ая примерно 250 тыс. Простой подсчет записей при объединении идет долго... а подсчет записей при проверке опеределенного поля вообще идет 130-160 секунд. Машина на которой крутиться Оракл - майнфрейм IBM-9672/OS390 - можно ли как то оптимизировать запросы?!
...
Рейтинг: 0 / 0
23.03.2003, 18:35
    #32125264
DimaR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
Наверное напильником,
а если серьезно то скажи хотя бы, версию оракла, структуру таблиц, индексы, запрос, план
...
Рейтинг: 0 / 0
24.03.2003, 19:04
    #32126043
ТопТоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
Версия 8.1.5
Две таблицы - разделен файл переменной длины. 1ая таблица содержит постоянную часть файла. 2ая соответственно переменную. Две базы объединяються по ключу, номер записи в постоянной части файла.
Запрос вида "select * from in01c,in01v where in01c.id=in01v.id(+)" выполняется около 10 секунд. добавление условия "and in01c.kv = 'чемуто' " выполняется более 15 минут!!!!! в таблице после объединения примерно 400 тыс записей. Планируемый результат - отбор записей по определенному условию и вывод в файл, который затем будет распечатан, после подготовки соответствующих шапок... можно ли ускорить работу запроса и как?
...
Рейтинг: 0 / 0
25.03.2003, 05:47
    #32126153
ArchiMage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
Индекс на id у тебя есть? В обеих таблицах?
А индекс на in01c.kv?

Еще - ставь в условии where ограничивающие условия до вязки таблиц.

Пока всё, думаю, этого достаточно будет.

- Более того, скажи, зачем может понадобиться запрос, возвращающий 400000 все записей?
- Может структура хранения недостаточно продумана?
- Может таблицы надо нормализовать?
...
Рейтинг: 0 / 0
25.03.2003, 06:43
    #32126165
antonprk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
Планы планами,
нужно смотреть как физически грузится машина,
сколько памяти берет, как диски шуршат...?
Поиграть параметрами в init.ora
...
Рейтинг: 0 / 0
25.03.2003, 13:31
    #32126507
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
>Планы планами,
>нужно смотреть как физически грузится машина,
>сколько памяти берет, как диски шуршат...?

нет уж, напильник предпочтительнее стетоскопа.
...
Рейтинг: 0 / 0
25.03.2003, 14:43
    #32126578
killed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
диски видимо шуршат хорошо ;-) иначе вопрос не появился бы
...
Рейтинг: 0 / 0
25.03.2003, 14:46
    #32126581
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
>диски видимо шуршат хорошо ;-) иначе вопрос не появился бы

дык меинфрейм ведь, а там диски ого-го :-))
...
Рейтинг: 0 / 0
25.03.2003, 20:51
    #32126901
SAA_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
Угу... там наверное диски сами по себе шуршат нехило и без этого запроса...
...
Рейтинг: 0 / 0
25.03.2003, 21:23
    #32126908
ТопТоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
Мужики... я не могу с настройками Оракла играть. Если только пинать человека, который отвечает за базу... Индекса по id нету. В первой базе он уникальный, во второй базе есть не все аналогичные значения id. В том то и дело(про структуру) - что надо считать иногда эти все 400 с лишним тысяч, перебирать их... ибо по специфике работы выдаются листы печати общей суммой около 5000 страниц, по 40 записей на каждом, без шапки... и когда простой подсчет сильно тормозит машину... причем ооооооооооочень мощную - становиться прикольно, так как тот же самый запрос на п/к выполняется в разу быстрее - может что то в настройках Оракла? Что самое интересное, если выполнять аналогичную операцию на КОБОЛЕ (который работает на том же самом мейнфрейме), времени на это надо меньше, намного (не учитывая программирование на КОБОЛЕ)
...
Рейтинг: 0 / 0
25.03.2003, 22:46
    #32126921
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
просили ж привести план запроса... И где он?
...
Рейтинг: 0 / 0
26.03.2003, 02:02
    #32126953
killed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
Эх была, не была !

REM ============================================
REM = Процедура гадания на кофейной гуще.
REM = "Колдуй бабка, колдуй дед, трое сбоку, наших нет." (с) Филатов
REM ============================================

Если у вас используется оптимизатор по правилам, то индекс будет использоваться со 100% гарантией, как только вы добавляете условие
"and in01c.kv = 'чемуто' . Теперь для извлечения каждой строки таблицы in01c, удовлетворяющей запросу Оракл будет совершать минимум три логических чтения (2 блока индекса, табличный блок), вместо одного при полном сканировании

В sqlplus выполните команду show optimizer , чтобы сначала прояснить хотя бы этот вопрос.


Все, карты больше ничего не кажут...пока
...
Рейтинг: 0 / 0
27.03.2003, 14:21
    #32128166
ТопТоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация запроса
сам запрос - select count(*) from v_inst01 where tzap=1
время выполнения 73 секунды, результат ~6 тысяч из 400 тысяч записей (написал для простоты вьюшку). про план запроса - Explain plan нужен?
тока как его выдернуть?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизация запроса / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]