Я застрял в простом запросе обновления. У меня в таблице говорят tabble1, содержащие столбец «name» и «phone_no». Теперь, когда я загружаю файл csv, содержащий список имен и контактных номеров, я хочу обновить имя дубликата с предыдущим. Напр. У меня есть строка, содержащая 'max' '8569589652'. теперь, когда я загружаю тот же номер другим именем, скажите 'stela' '8569589652', тогда stela shuld обновится до макс.mysql-запрос для обновления дублирующих записей
для этой цели я создал другую таблицу say table2. то я собрал все повторяющиеся записи из таблицы1 в таблицу2. после этого обновлена новая запись с предыдущим именем.
следующие мои запросы: собрать все дубликаты записей:
INSERT INTO table2 SELECT phone_no,name FROM table1
GROUP BY phone_no HAVING COUNT(*)>1;
обновить повторяющиеся записи в table1:
UPDATE table1.table2 SET table1.name=table2.name
WHERE table1.phone_no=table2.phone_no ;
Моя проблема в том, когда я запускаю эти два запроса он берет tooo много времени. Он занимает руду, чем через полчаса, чтобы загрузить файл csv из 1000 номеров. Пожалуйста, предложите мне оптимизировать запрос для загрузки csv за меньшее время.
действительно скорость загрузки предметов с размером базы данных. , пожалуйста, помогите.
Заранее благодарим.
Я использую следующий запрос для загрузки CSV файла: LOAD DATA INFILE '$ имя_файла' INTO TABLE импорт ПЛОЩАДКИ расторгнута '|' ЛИНИИ TERMINATED BY '\ п' ИГНОРИРУЙТЕ 1 ЛИНИЮ (@ srno, @ customer_name, @ mobno) SET customer_name = @ customer_name, mobno = @ mobno, дата и время = '$ DateTime' пожалуйста, помогите мне написать дублирование KEY UPDATE с этим запросом –
? разместите его здесь. – cartina
ОК. Pls проверит эту ссылку и выполнит следующие шаги. http://stackoverflow.com/questions/15271202/mysql-load-data-infile-with-on-duplicate-key-update – cartina