Мне интересно, как сделать этот запрос быстрее.Медленная вставка: выберите из таблицы
Идея состоит в том, чтобы вставить из одной таблицы в другую таблицу с помощью обновления. Уловка состоит в том, что большая таблица составляет около 150 000 строк с ПК на элемент, который я хочу вставить. У меньшего стола около 125 000 строк. Результат, который я ищу, - это вставить skus из большой таблицы в меньшую таблицу, чтобы они имели одинаковое количество строк.
Я попробовал два разных запросов, но это один, пожалуй, самый очевидный:
INSERT INTO item_data
(sku)
SELECT sku
FROM item_table
WHERE sku NOT IN (SELECT sku
FROM item_data);
Я также попробовал этот вариант:
INSERT INTO item_data
(sku)
SELECT t1.sku
FROM (SELECT sku
FROM item_data) AS t1,
(SELECT sku
FROM item_table) AS t2
WHERE t1.sku <> t2.sku
(извините, если синтаксис немного не здесь) ,
Я начал с запуска запроса выбора базы, и к моему ужасу, это было очень медленно.
Я предполагаю, что я должен попробовать разные объединения для размера, но мне также интересно узнать, почему этот запрос выполняется медленнее, чем кажется на первый взгляд, и, если возможно, то, что я должен искать при определении почему это происходит медленно.
Это новая установка и новая база данных без индексов или всего остального, кроме нескольких таблиц, работающих под управлением последнего PgAdmin.
проверка план выполнения запроса и изучения потока данных для получения дополнительной информации, чтобы найти то, что вызывает ваш запрос, чтобы работать медленно. – Murtaza