У меня есть две таблицы в Microsoft Access: T_DATAS (около 200 000 строк) и T_REAF (около 1000 строк).SQL-запрос Оптимизация JOIN несколько столбцов
T_DATAS имеет много столбцов (около 30 столбцов), а T_REAF имеет около 10 столбцов.
Я должен сказать вам, что мне не разрешено изменять эти таблицы и создавать другие таблицы. Мне нужно с этим работать.
Обе таблицы имеют 6 столбцов, которые являются одинаковыми. Мне нужно присоединиться к таблицам в этих 6 столбцах, чтобы выбрать ВСЕ столбцы из T_DATAS И столбцы, которые находятся в T_REAF, но не в T_DATAS.
Мой запрос:
SELECT A.*, B.CARROS_NEW, B.SEGT_NEW, B.ATTR INTO FINALTABLE FROM T_DATAS A LEFT JOIN T_REAF B ON A.REGION LIKE B.REGION AND A.PAYS LIKE B.PAYS AND A.MARQUE LIKE B.MARQUE AND A.MODELE LIKE B.MODELE AND A.CARROS LIKE B.CARROS AND A.SEGT LIKE B.SEGT
У меня есть результат, что нужно, но проблема в том, что этот запрос принимает слишком долго, чтобы дать результат (около 3 минут). Я знаю, что T_DATAS содержит много строк (200 000), но я думаю, что 3 минуты слишком длинны для этого запроса.
Не могли бы вы рассказать мне, что не так в этом вопросе?
Большое спасибо за вашу помощь
Почему вы используете ** как ** здесь, в запросе? – pedram
Кроме того, рассмотрите возможность размещения некоторых индексов над таблицами для ускорения запроса – Veljko89