Как загрузить данные из большого файла в MySQL

0

У меня есть файл с тремя номерами мобильных телефонов, название компании и статус с миллионами записей. Я уже прочитал данные из файла и сохранил данные из каждого столбца в своих соответствующих массивах. Я бы использовал loadInfile mysql, но проблема вместо имен компаний я хочу хранить там company_ids, которые хранятся в моей таблице mysql. Так что в основном я хочу заменить имена компаний своими company_ids, но проблема в простых операторах выбора займет столько времени, потому что запись в миллионах. Просьба предложить мне приемлемый подход thankx.just ради понимания, я даю код ниже

$company_names_arr=array('ABC','Def','Ghi',.......);

foreach($company_names_arr as $arr)
 {
  $this->db->select('company_id');
  $this->db->from('companies_info');
  $this->db->where('company_name',$arr);
  $q=$this->db->get();
  $res=$q->result();
  $company_ids_arr[]=$res;
 }

я знаю, что выше написанный код не является приемлемым подходом к достижению того, чего я хочу достичь, поэтому, пожалуйста, предложите мне лучший способ thankx

Теги:
codeigniter

1 ответ

0

Не забудьте вставить столько строк данных, они будут очень медленными, как вы уже узнали.

Используйте load data infile для загрузки текстового файла, как в промежуточную таблицу. В промежуточной таблице должен быть указатель на столбце названия компании. Затем используйте insert... select... с соединением для ввода идентификатора компании в финальную таблицу.

  • 0
    чтобы достичь этого, я должен сделать еще один стол
  • 0
    который будет использоваться для хранения нагрузки в данных файла
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню