SQL Server не выполняет запросы на удаленном (связанном с MySQL) сервере

По разным ужасным причинам нам пришлось связать SQL Server с базой данных MySQL, используя связанные серверы и источник данных ODBC. Запросы выполняются нормально, но, глядя на планы запросов, вы можете видеть, что SQL Server всегда выполняет полное сканирование таблицы на удаленном сервере, а затем выполняет любые соединения/фильтрацию на стороне SQL Server.

Как мы можем отправить их на сервер MySQL вместо этого?

Спасибо

Джеймс


person James Crowley    schedule 15.03.2011    source источник
comment
Как вы на самом деле выполняете запросы? OpenQuery?   -  person Matt Gibson    schedule 15.03.2011
comment
см. stackoverflow.com/questions/1557285/   -  person cindi    schedule 15.03.2011
comment
Я просто запускал их напрямую - выберите * из mylinkedserver..tablename и т. д.   -  person James Crowley    schedule 30.03.2011


Ответы (1)


Если вы пишете свои запросы так...

select * from openquery
 ( myLinkedServer
  ,'Select * from mySQLTables where complicated joins/filters')

объединения/фильтры должны происходить удаленно.

person cindi    schedule 15.03.2011