ms access перестает работать, когда я открываю запрос, содержащий 20 миллионов записей с одним типом

У меня есть запрос, который объединяет разные таблицы без какой-либо ссылки, поэтому он создает комбинацию. Число записей достигло 20 миллионов, я отсортировал эти записи по одному полю. MS Access зависает и перестает работать. Пожалуйста, любой, кто может помочь в ускорении запроса или заставить его работать. Спасибо

0
задан 13 August 2018 в 15:37

2 ответа

Один из методов заключается в изменении вашего запроса на запрос таблицы create без использования фильтров.

Затем создайте индексы в новой таблице в полях, которые вы хотите фильтровать.

] Теперь используйте эту таблицу в качестве источника в запросе, в котором вы применяете фильтры, которые вы хотите.

0
ответ дан 15 August 2018 в 17:01

Объединение таблиц без указания вопроса о том, как связать одну таблицу с другой, называется «перекрестным соединением», так как вы говорите, что создает комбинацию записей.

Легко получить очень большие результаты, используя кросс-соединение, всего 5000 строк в каждой из двух таблиц в перекрестном соединении будут генерировать 25 миллионов записей, всего 300 записей в каждой из трех таблиц дадут 27 миллионов. При наличии 5000 или 300 записей в таблице MSAccess будет летать, но попросить ее запустить запрос для создания записей ~ 20M потребуется время, вот как это.

Я предлагаю вам рассказать нам, что вы пытаетесь сделать, я ожидаю, что между таблицами должна быть связь или, по крайней мере, что-то в запросе, чтобы сообщить MSAccess, какую из записей 20M вы хотите видеть , Я ожидаю, что вы не захотите прокручивать около 500000 страниц данных, чтобы найти то, что вы ищете.

1
ответ дан 15 August 2018 в 17:01
  • 1
    У меня есть игроки в разных таблицах, и я делаю комбинацию команд (я уже пробовал использовать другой метод, самый быстрый способ сделать комбинацию). Я сделал комбинацию из команд, которые изначально составляли 600 миллионов, но после разных критериев я отфильтровал их до 20 миллионов , Теперь я хочу видеть лучшие команды на основе баллов, поэтому, когда я применяю сортировку к полю оценки (по убыванию), он перестает работать. – Hamza Rehman Saleemi 13 August 2018 в 15:59
  • 2
    Подумайте о том, что вы на самом деле говорите. Вы говорите ему, чтобы посмотреть (предположительно рассчитанный) балл. Он должен рассчитать счет за каждый из 20 миллионов записей и нажать на те, у которых самые высокие баллы, и высказать все остальные таким же образом. Это большая работа, особенно для инструмента, который не особенно хорошо разработан для обработки больших наборов данных. То, что вы МОЖЕТЕ попробовать, это сделать top 50 (или 20 ... или 100) на ваших записях, таким образом вы не оттягиваете ВСЕ данные и только данные, которые вам интересны .... это все еще может быть медленным. – user2366842 13 August 2018 в 16:23

Другие вопросы по тегам:

Похожие вопросы: