Mysqldump + join
Формулировка задачи:
Добрый вечер!
Имееются две таблицы
одна на 500к строк, другая на 700к строк
назовем первую auto_info вторую auto
нужен дамп из таблицы auto_info
причем меня не интересуют все 500к строк - мне надо только 60к
то есть, я пишу:
Хорошо. Запрос отрабатывает за 10 секунд. все довольны.
Далее, эту таблицу сразу лью в другую базу:
но в секции where никак не указать мой join
пробовал select from select ..... - работает около 30 минут - это не подходит
пробовал
.......... --where="exists (${ЗАПРОС})".... - тоже работает очень долго
как вариант, я бы мог снимать данные этим запросом в отдельный файл и потом заливать из файла в базу - этот вариант решения мне не нравится тем, что так я снимаю дамп уже с 500 таблиц(там обхожусь без join)
и вот для двух таблиц надо использовать join для увеличения скорости выборки
Хотел бы спросить, нет ли какого способа сделать что-то типа
select * from auto_info where (мой запрос)
и чтобы скорость работы была как с использованием join?
SELECT ai.VIN FROM auto_info ai JOIN auto a ON ai.VIN = a.VIN WHERE a.id = 1447
mysqldump -h ip.ip.ip.ip -uuser -ppass database auto_info --where="${ЗАПРОС}" | mysql -h ip2.ip2.ip2 -uuser2 -ppass2 database2
Решение задачи: «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
Объяснение кода листинга программы
mysqldump
- команда для работы с базами данных MySQL-h ip.ip.ip.ip
- параметр для указания IP-адреса хоста, где размещена база данных-uuser
- параметр для указания имени пользователя базы данных-ppass
- параметр для указания пароля пользователя базы данныхdbname
- параметр для указания имени базы данныхauto_info_view
- параметр для указания имени таблицы в базе данных--where
- параметр для указания условия фильтрации при выборке данных из таблицыid = id
- значение параметра--where
, указывающее на условие фильтрации по полюid
таблицы--compact
- параметр для компактного вывода результатов запроса--lock-all-tables
- параметр для блокировки всех таблиц перед выполнением запроса--add-drop-table
- параметр для добавления команд создания и удаления таблиц в выходной файл123.txt
- параметр для указания имени выходного файла
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д