INSERT INTO ... SELECT ... создает дефектную таблицу, в которой CREATE TABLE ... SELECT

Я работаю над обработкой большого набора данных GTFS и создаю дополнительную таблицу из существующих данных. Для этого я использую следующий запрос.

INSERT INTO connections
(SELECT
    stop_timesD.departure_time,
    stop_timesD.stop_sequence AS stop_sequence_departure,
    stop_timesD.stop_id AS stop_id_departure,
    trips.trip_id,
    trips.direction_id,
    stop_timesA.arrival_time, 
    stop_timesA.stop_sequence AS stop_sequence_arrival, 
    stop_timesA.stop_id AS stop_id_arrival 
FROM trips 
INNER JOIN stop_times AS stop_timesD ON trips.trip_id = stop_timesD.trip_id 
INNER JOIN stop_times AS stop_timesA ON trips.trip_id = stop_timesA.trip_id 
INNER JOIN calendar_dates ON trips.service_id = calendar_dates.service_id 
WHERE calendar_dates.date = '20190302' AND stop_timesD.stop_sequence < stop_timesA.stop_sequence); 

Теперь это производит набор данных, который мне нужен правильно. Однако таблица, в которую она вставлена, кажется не способной к запросу, поскольку каждый запрос (т. Е. SELECT * FROM connections;) не возвращает никаких данных. Кроме того, сервер продолжает использовать большую мощность процессора после завершения запроса и выдает большое значение для "свободных данных" (я подозреваю, что это либо очистка, либо индексация).

Использование модифицированного запроса, который создает новую таблицу (CREATE TABLE connections SELECT ...), дает желаемый результат, даже если в разметке таблицы нет различий.

0 ответов

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