У меня есть запрос, который объединяет разные таблицы без какой-либо ссылки, поэтому он создает комбинацию. Число записей достигло 20 миллионов, я отсортировал эти записи по одному полю. MS Access зависает и перестает работать. Пожалуйста, любой, кто может помочь в ускорении запроса или заставить его работать. Спасибо
Один из методов заключается в изменении вашего запроса на запрос таблицы create без использования фильтров.
Затем создайте индексы в новой таблице в полях, которые вы хотите фильтровать.
] Теперь используйте эту таблицу в качестве источника в запросе, в котором вы применяете фильтры, которые вы хотите.
Объединение таблиц без указания вопроса о том, как связать одну таблицу с другой, называется «перекрестным соединением», так как вы говорите, что создает комбинацию записей.
Легко получить очень большие результаты, используя кросс-соединение, всего 5000 строк в каждой из двух таблиц в перекрестном соединении будут генерировать 25 миллионов записей, всего 300 записей в каждой из трех таблиц дадут 27 миллионов. При наличии 5000 или 300 записей в таблице MSAccess будет летать, но попросить ее запустить запрос для создания записей ~ 20M потребуется время, вот как это.
Я предлагаю вам рассказать нам, что вы пытаетесь сделать, я ожидаю, что между таблицами должна быть связь или, по крайней мере, что-то в запросе, чтобы сообщить MSAccess, какую из записей 20M вы хотите видеть , Я ожидаю, что вы не захотите прокручивать около 500000 страниц данных, чтобы найти то, что вы ищете.