Важно понимать, что только некоторые типы статистики таблиц и метаданные для источников данных ODBC будут иметь отношение к Jet. В общем, я думаю, что индексы - это единственная часть, которая действительно имеет значение с точки зрения того, что Jet решает, что делать с оператором SQL - пока индексы есть и он понимает сервер на другом конце, он будет передавать все к серверу для обработки, если вы не по глупости выбрали или отсортировали выражение, которое не может понять база данных сервера. В этом случае Jet может быть достаточно умным, чтобы отправлять части оператора SQL для обработки сервером (например, объединения и критерии для литералов), а затем использовать набор результатов, возвращаемый с выражением.
Что касается вопроса о связанных таблицах, то, к сожалению, нет динамического способа обновления связанных таблиц ODBC - например, добавить столбец в таблицу или представление, и он не будет в возвращаемой таблице, обновите ссылку и появится новый столбец, но он может быть доступен только для чтения.
Я обнаружил, что единственное, что нужно сделать при изменении структуры таблиц и представлений вашего сервера, - это просто удалить и воссоздать соответствующие связанные таблицы. Я не знаю, что есть какой-то программный способ сделать это. Если есть какие-либо метаданные о таблице / представлении, которые сообщают, когда ее структура была в последний раз обновлена, вы можете проверить это по дате связанной таблицы, а также удалить и воссоздать, когда серверная часть была обновлена после ссылки, но я Я просто догадываюсь здесь. Но это было бы специфично для конца.
Для полноты картины я просто дам основы с помощью Jet:
При доступе к Jet компакт должен сбрасывать статистику таблицы, и при следующем запуске каждого оператора SQL компиляция для каждого оператора будет отбрасываться, а план запроса пересчитывается на основе новой статистики. Это важно, если вы сжимаете внешний интерфейс с целью обновления статистики таблиц, а вы сжимаете серверную часть до , то вы сжимаете внешний интерфейс, потому что это гарантирует, что все статистические данные серверной части будут такими же точными насколько это возможно (хотя большинство из них остаются актуальными даже без компактного).