Задать вопрос
@Programep

Как уменьшить время выполнения t-sql запроса (оптимизировать) к Oracle?

Добрый день!
Есть:
MS SQL Server 2012;
Link к серверу Oracle;
Программа, которая выполняет аналогичные запросы за время < 10 секунд.
Нужно:
Уменьшить время выполнения sql-запроса. Пробовал два варианта:
1.
SELECT [time],[column1],[column2],[column_N]
from openquery([oracleLink],'SELECT [time],cast([column1] as float) [column1],
cast([column2] as float) [column2],
cast([column_N] as float) [column_N]
FROM [table] WHERE [time] >= ''[time_param]'' 
and [id]=[int_param] and (COALESCE([column1],[column2],[column_N]) is not null)')

2.
SELECT [time],[column1],[column2],[column_N]
from openquery([oracleLink],'SELECT [time],cast([column1] as float) [column1],
cast([column2] as float) [column2],
cast([column_N] as float) [column_N]
FROM [table] WHERE [time] >= ''[time_param]'' 
and [id]=[int_param]') 
where (COALESCE([column1],[column2],[column_N]) is not null)

В первом варианте стоимость выполнения меньше, но и первый и второй вариант бывают выполняются >2 минут при первом выполнении.
Не пойму почему программа работает быстрее.. Подскажите, пожалуйста.
  • Вопрос задан
  • 1341 просмотр
Подписаться 2 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    DB-021 Язык Oracle PL/SQL для разработчиков
    1 неделя
    Далее
  • Stepik
    SQL для начинающих: с нуля до сертификата Oracle
    2 недели
    Далее
  • OTUS
    SQL для разработчиков и аналитиков
    3 месяца
    Далее
Решения вопроса 2
@Programep Автор вопроса
Использование Binding and Defining. Oracle в запросах сократило время выполнения.
Ответ написан
Комментировать
@DefineDef
Использовать Oracle профилировщик запросов, который визуально профилирует запросы, сравнивает результаты профилирования и помогает при оптимизации запросов.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AndyKorg
@AndyKorg
Кнопконажиматель и припоерасплавлятель
Посмотрите профайлером что конкретно отправляется программой на ms sql, и повторите эти запросы "вручную". Пока не достаточно информации для более полного ответа
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Principal Recruitment Москва
от 200 000 до 250 000 ₽
Principal Recruitment Москва
от 200 000 до 350 000 ₽
Principal Recruitment Москва
от 200 000 до 350 000 ₽