Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Добрый день. У меня такой вопрос.
После создания подключения Linked Server с БД FB столкнулась с такой проблемой:
При работе с большими таблицами, очень медленно отрабатывают запросы .Индексы есть, но создается впечатление, что при выполнение запроса через линк они не используются, при обращение к большим таблицам запросы отрабатывают минимум по 15 минут.

Пример: Таблица T_DOG, всего 15 столбцов и 9676509 строк. Выполняем простейший запрос
SELECT * from FIREBIRD...T_DOG WHERE DOG_NUM= 'ILOVVO08130226AFZ6SU'
Время выполнения запроса - 20 минут, а на основной бд FB – 1 секунда .
Линк настроен двумя способами через драйвер IBProvider и через ODBС, ситуация одинаковая.

В чем может быть причина? Можно ли как –то в FB посмотреть трассировку того что он там выполняет? Как он трансформирует скрипт? Я с FB опыта работы не имею, к сожалению. Может там есть какие-то настройки, касающиеся выполнения удаленных запросов.

К сообщению приложен файл. Размер - 17Kb
24 июл 14, 13:12    [16351491]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
Glory
Member

Откуда:
Сообщений: 104751
adunya
В чем может быть причина?

В том, что с FIREBIRD перекачивается вся таблица, которая потом фильтруется локально

adunya
Можно ли как –то в FB посмотреть трассировку того что он там выполняет? Как он трансформирует скрипт?Может там есть какие-то настройки, касающиеся выполнения удаленных запросов.

Об этом спрашивайте в форуме по FIREBIRD


SELECT * from OPENQUERY(FIREBIRD, 'SELECT * FROM T_DOG WHERE DOG_NUM= ''ILOVVO08130226AFZ6SU''') a 
24 июл 14, 14:05    [16351911]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53722
adunya
а на основной бд FB – 1 секунда .

А чего так медленно-то? Индекса на DOG_NUM нет что ли?..
24 июл 14, 15:15    [16352397]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Dimitry Sibiryakov, индекс есть, на бд fb скрипт отрабатывает за 1 секунду, с другими таблицами аналогичная проблема
24 июл 14, 15:25    [16352486]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
автор
В чем может быть причина?

Сеть недостаточно быстро перекачивает таблицу на сиквел.

автор
Я с FB опыта работы не имею
ъ
Эта конференция какбэ тоже не наполнена специалистами по FB.

автор
.Индексы есть, но создается впечатление, что при выполнение запроса через линк они не используются

Это не впечатление, дела так и обстоят.

Добейтесь выполнения нужного запрос а на FB сервере, получайте только результат.
24 июл 14, 15:39    [16352604]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
NetObserver
Member

Откуда:
Сообщений: 642
Похоже MSSQL тянет на себя всю таблицу, как говорит Glory.
Навскидку:
1)Заменить 'SELECT *' на 'SELECT DOG_NUM,field_1,field_2'
тоесть вытаскивать только нужные поля.
Кардинально конечно не ускорит, но если повезет раза в 2-3, в зависимости от размера нужных полей.

2)Написать на FB процедуру и дергать уже ее.
24 июл 14, 16:41    [16353036]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
NetObserver,
Для часто используемых запросов создание процедур хорошее решение, но у нас много одноразовых задач ((, может все же существует способ заставить MSSQL работать по-другому ?
25 июл 14, 08:21    [16355563]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
adunya, Вы пропустили важный ответ от Glory.
25 июл 14, 11:54    [16356577]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
Владислав Колосов, к сожалению использую OPENQUERY , нельзя использовать переменные
25 июл 14, 14:53    [16358020]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
o-o
Guest
adunya,

можно динамически лепить с переменными:
declare @i int = 1;
declare @sql varchar(max) = 
'select *
from openquery (servername, ''select top 10 * from dbname.schemaname.tablename where field1 = ' + cast (@i as varchar(5)) + ''')';
--print @sql
exec (@sql)
25 июл 14, 15:41    [16358415]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
adunya
Member

Откуда: Москва
Сообщений: 53
o-o,

спасибо, наверно так и буду делать
25 июл 14, 16:01    [16358574]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
Коваленко Дмитрий
Member

Откуда: Липецк
Сообщений: 590
adunya, привет.

Мы же вроде 23 июля решили (с Надеждой Юрьевной) этот вопрос. У меня в почте даже картинка такая же. Или вы мой последний ответ не прочитали?

Укажите в настройках связанного сервера (Server Options) "совместимые параметры сортировки" / "Collation Compatible" = true

Картинка с другого сайта.

Напомню, что вам так же стоит указать в строке подключения "ctype=win1251" и "schema_cache=0" (у вас похоже есть ошибки в системных таблицах).
28 июл 14, 09:30    [16364500]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server с БД FIREBIRD очень медленно отрабатывают запросы  [new]
Коваленко Дмитрий
Member

Откуда: Липецк
Сообщений: 590
adunya
Пример: Таблица T_DOG, всего 15 столбцов и 9676509 строк.

Если в результирующем множестве есть колонки с блобами, то скорость загрузки будет резко снижаться. Это специфика взаимодействия с FB/IB.
28 июл 14, 09:52    [16364579]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить