Mysqldump + join

Узнай цену своей работы

Формулировка задачи:

Добрый вечер! Имееются две таблицы одна на 500к строк, другая на 700к строк назовем первую auto_info вторую auto нужен дамп из таблицы auto_info причем меня не интересуют все 500к строк - мне надо только 60к то есть, я пишу:
SELECT ai.VIN FROM auto_info ai JOIN auto a ON ai.VIN = a.VIN WHERE a.id = 1447
Хорошо. Запрос отрабатывает за 10 секунд. все довольны. Далее, эту таблицу сразу лью в другую базу:
mysqldump -h ip.ip.ip.ip -uuser -ppass database auto_info --where="${ЗАПРОС}" | mysql -h ip2.ip2.ip2 -uuser2 -ppass2 database2
но в секции where никак не указать мой join пробовал select from select ..... - работает около 30 минут - это не подходит пробовал .......... --where="exists (${ЗАПРОС})".... - тоже работает очень долго как вариант, я бы мог снимать данные этим запросом в отдельный файл и потом заливать из файла в базу - этот вариант решения мне не нравится тем, что так я снимаю дамп уже с 500 таблиц(там обхожусь без join) и вот для двух таблиц надо использовать join для увеличения скорости выборки Хотел бы спросить, нет ли какого способа сделать что-то типа select * from auto_info where (мой запрос) и чтобы скорость работы была как с использованием join?

Решение задачи: «Mysqldump + join»

textual
Листинг программы
mysqldump -h ip.ip.ip.ip -uuser -ppass dbname auto_info_view --where="id = id" --compact --lock-all-tables --add-drop-table > 123.txt

Объяснение кода листинга программы

  1. mysqldump - команда для работы с базами данных MySQL
  2. -h ip.ip.ip.ip - параметр для указания IP-адреса хоста, где размещена база данных
  3. -uuser - параметр для указания имени пользователя базы данных
  4. -ppass - параметр для указания пароля пользователя базы данных
  5. dbname - параметр для указания имени базы данных
  6. auto_info_view - параметр для указания имени таблицы в базе данных
  7. --where - параметр для указания условия фильтрации при выборке данных из таблицы
  8. id = id - значение параметра --where, указывающее на условие фильтрации по полю id таблицы
  9. --compact - параметр для компактного вывода результатов запроса
  10. --lock-all-tables - параметр для блокировки всех таблиц перед выполнением запроса
  11. --add-drop-table - параметр для добавления команд создания и удаления таблиц в выходной файл
  12. 123.txt - параметр для указания имени выходного файла

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5