Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Значительное замедление выполнения SQL-запросов в ASA12 с параметром типа float / 4 сообщений из 4, страница 1 из 1
18.03.2011, 13:34
    #37172088
freeckle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значительное замедление выполнения SQL-запросов в ASA12 с параметром типа float
Добрый день.

В базе (ASA8 и ASA12) имеется поле первичного ключа и ссылки на него из других таблиц имеющие тип numeric(24,0).

В приложении (соединение с БД через BDE-ODBC) в TQuery параметры запроса заполняются как ParamByName('ID').AsFloat.

С БД под ASA8 запрос (обычный select по ключевому полю) выполняется моментально, под ASA12 "думает" несколько секунд (иногда десятков).
После изменения в приложении типа параметра запроса на integer и в ParamByName AsFloat на AsInteger тормоз исчезает.

Что изменилось между 8-м и 12-м? Может есть какая опция указать Sybase-у сравнивать не плавающие значения (полагаю в этом и причина тормозов), а как целочисленные. 8-й то с этим справлялся. В приложении менять все запросы довольно накладно...
...
Рейтинг: 0 / 0
18.03.2011, 13:49
    #37172143
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значительное замедление выполнения SQL-запросов в ASA12 с параметром типа float
float b numeric(24,0) не эквивалентные типы. Сокрее всего 12-ка не воспринимает преданное значение как адекватное значение ключа и делает табличное сканирование. Вы план выполнения то хоть вначале посмотрите, там все будет видно.
...
Рейтинг: 0 / 0
18.03.2011, 14:47
    #37172306
freeckle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значительное замедление выполнения SQL-запросов в ASA12 с параметром типа float
В том то и проблема - почему "12-ка не воспринимает преданное значение как адекватное значение ключа"? И как заставить ее это сделать...

Если вместо параметра подставить реальное значение и выполнить запрос в 12-ке в Interactive SQL - все "летает". И в плане индекс используется (который foreign key) какой надо.
А как посмотреть план запроса от приложения?
...
Рейтинг: 0 / 0
18.03.2011, 18:26
    #37172780
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значительное замедление выполнения SQL-запросов в ASA12 с параметром типа float
посмотреть план запроса от приложения можно, запустив профайлер, делается это в централе. Почитайте хелп по профилированию, там ничего сложного. После этого можно будет уже о чем-то говорить более конкретно, а так пока выходит гадания на кофейной гуще.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Значительное замедление выполнения SQL-запросов в ASA12 с параметром типа float / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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