Есть ли способ контролировать запрос, генерируемый к внешней базе?
|
|
Четверг, 14 Декабря 2017 г. 04:07
+ в цитатник
Работаем с Oracle через ODBC.
С удивлением обнаружил, что запрос реально посылаемый на сервер, сильно отличается от того что видно в SQL View.
Причем отличается так плохо, что выполнение занимает до получаса вместо нескольких секунд.
Это конечно лечится если сделать запрос pass-through. Но при этом юзеры ворчат на 2 проблемы:
во-первых, надо текст запроса править вручную чтобы Oracle его понял - например, заменять везде двойные кавычки на одинарные, и исправлять схема_имятаблицы на схема.имятаблицы.
Нет ли способа как-то объяснить этой идиотской приблуде чтобы не коверкала запрос?
Пример:
SELECT field1, field2 from partitioned_table where field1='ABC'
А вот что приходит на сервер:
1.SELECT primary_key from partitioned_table where field1='ABC'
2.SELECT field1, field2 from partitioned_table WHERE
primary_key=value1
OR primary_key=value2
OR primary_key=value3
.......OR primary_key=value10
Таблица большая, 50 млн записей. Ждем по пол-часа и затем при любой попытке проскроллить все начинается сначала, еще пол-часа.
"Это...какой-то позор!" (с)Швондер
http://www.sql.ru/forum/1280047/est-li-sposob-kontrolirovat-zapros-generiruemyy-k-vneshney-baze
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-