MySQL подзапрос / объединение через базу данных? - PullRequest
2 голосов
/ 02 июля 2011

У меня есть набор результатов около 33 миллионов записей.

Мне нужно удалить все записи, основанные на другом наборе результатов из примерно 10 миллионов записей на основе идентификатора.

Это должно занятьОднако, если разобраться с проблемой, поскольку db1 - это myISAM, он слишком медленный:

SELECT id
FROM db1.table1
WHERE id NOT IN (
  SELECT id
  FROM db1.table2
) AS result
ORDER BY id

У меня есть вторая база данных, которая содержит те же данные, но механизм InnoDB для больших 32 миллионов результатов.Возможный?Это только немного из моей лиги.Любые / все предложения приветствуются.

SELECT id
FROM db2.table1
WHERE id NOT IN (
  SELECT id
  FROM db1.table2
) AS result
ORDER BY id

1 Ответ

4 голосов
/ 02 июля 2011

Пока все базы данных существуют на одном хосте - да, это не проблема, вы можете объединить более одной базы данных (при условии, что у вас достаточно прав для доступа ко всем этим таблицам).

Скорее 'не проще ли попробовать, чем спрашивать здесь?Или я что-то пропустил?

...