Задавайте вопросы, мы ответим
Вы не зашли.
Имеется документ, содержащий 1500 -3000 записей. (возможно и больше)
Имеется , к примеру , 2 таблицы в БД, куда надо поместить инфу
Документ парсится и подготавливаются запросы к БД, одна строка документа - 2 запроса к этим двум таблицам.
Проблема в том, что запросов становиться слишком много, если в документе 1500 строк, то будет 1500 запросов в одну таблицу и 1500 в другую. А если предположить, что возможен исходный документ с 10000 строк, тогда запросов будет 20 тысяч.
Делать их по-одному , не реально, слишком долго. Если делать их все сразу, подготовив массив из несколько тысяч строк, то ... я не знаю так делается ли?
А еще нужно будет обернуть это все в
Неактивен
Попробуйте конструкцию вида insert into t values(),(),(),(),(),...,();
Неактивен
А если без транзакций? может я с транзакциями поторопился. Вообщем нужно оптимальное решение, что бы работало более менее быстро.
Попробуйте конструкцию вида insert into t values(),(),(),(),(),...,();
и что тут вставить 3000 значений в скобках?? с ума сойти...
Неактивен
То решение, что я предложил - оно как раз-таки без транзакций .
Не нужно сходить с ума, лучше посмотрите http://sqlinfo.ru/forum/viewtopic.php?id=1556
Неактивен
Во. спасибо. Это уже что-то. Во первых я увидел, что так можно делать, несколько сот записей в одном запросе.
Неактивен
ТОлько не понял к чему там пришли? Какова скорость получилась в том случае? Скажите пожалуйста.
Отредактированно Cheb (19.09.2014 14:11:55)
Неактивен
У MySQL хорошие алогритмы для множественной вставки (bulk insert), поэтом скорость многократно превзойдет скорость в случае 3000 отдельных запросов.
Неактивен