Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> BULK INSERT при двух связанных таблицах ? BULK INSERT при двух связанных таблицах  
:(
    Опции темы
martin88
Дата 3.8.2015, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.3.2012

Репутация: нет
Всего: нет



Есть 2 таблицы и интерфейс их наполнения:

Код

CREATE TABLE `serial` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `serial` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `serial` (`serial`),
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

CREATE TABLE `player` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `mac` varchar(255) NOT NULL,
  `serial_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mac` (`mac`),
  UNIQUE KEY `serial_id` (`serial_id`),
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


Проблема в том, что эти две таблицы связаны между собой (serial_id один к одному) и я не могу использовать BULK INSERT (т.к. необходимо сначала вставить запись в одну таблицу, узнав ее PRIMARY KEY, затем вставить запись в другую связанную таблицу используя полученный PRIMARY ID ). 

То есть я делаю парсинг примерно такого файла:

00:16:fb:86:d0:d7 | BW678DS78
00:16:fb:86:d0:c5 | JFH76GJH
00:16:fb:87:af:2e | JKKJHD767
00:16:fb:87:af:36 | STF67JG67

где соответственно надо добавить серийник (BW678DS78) в таблицу serial, мак (00:16:fb:86:d0:d7) в таблицу player и связать их друг с другом. Строк в таких файлах может насчитывать несколько тысяч.

А это получается цикл из нескольких тысячей INSERT друг за другом. 

Как можно оптимизировать этот процесс? 



Это сообщение отредактировал(а) martin88 - 3.8.2015, 17:58
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0371 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.