Почему мой Access 2010 ADP не фильтрует свои операторы SQL при подключении к MSSQL 2008 R2?
Я использую MSSQL MS для большинства административных задач в базах данных SQL Server 2008 R2, но я считаю, что использование Access (через ADP, не связанные таблицы) для просмотра и редактирования необработанных данных таблиц намного эффективнее. (Это только для использования системного администратора, конечно, пользовательский доступ осуществляется через веб-приложение, и таблицы, о которых идет речь, относительно малы, возможно, несколько тысяч строк.)
Однако после перехода на Access 2010 производительность снижается при фильтрации и сортировке таблиц в ADP и при просмотре через Profiler, я знаю почему - Access не только не готовит WHERE
Предложение для реализации фильтров MSSQL, он запрашивает необработанную таблицу несколько раз, независимо от того, какие фильтры установлены. Другими словами, он делает что-то вроде этого:
SET ROWCOUNT 10000
SELECT "dbo"."MYTABLE".* FROM "dbo"."MYTABLE"
SET ROWCOUNT 0
SELECT "dbo"."MYTABLE".* FROM "dbo"."MYTABLE"
SET ROWCOUNT 10000
SELECT "dbo"."MYTABLE".* FROM "dbo"."MYTABLE"
SET ROWCOUNT 0
SELECT "dbo"."MYTABLE".* FROM "dbo"."MYTABLE"
(Я пропустил несколько дополнительных операторов, где он читает расширенные свойства столбца.)
Что, черт возьми, делает здесь Access, и как я могу заставить его использовать SQL Server для выполнения фильтрации и сортировки, чтобы не совершать множественные поездки каждый раз, когда меняются фильтры таблиц?