Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Оганичение по загрузки данный в БД

Сообщения:  [1-10]   [11-13] 

 
 автор: confirm   (10.01.2014 в 10:26)   письмо автору
 
   для: Trianon   (10.01.2014 в 02:54)
 

Ну да, но я скорее о не тождественности самого механизма.

  Ответить  
 
 автор: Trianon   (10.01.2014 в 02:54)   письмо автору
 
   для: confirm   (09.01.2014 в 23:32)
 

тут Вы утрируете несколько.
ON DUPLICATE KEY .. UPDATE позволяет и обновлять строки пакетом.

  Ответить  
 
 автор: clubxaliav   (10.01.2014 в 00:00)   письмо автору
 
   для: confirm   (09.01.2014 в 23:54)
 

Еще раз спасибо, за разъяснение!

  Ответить  
 
 автор: confirm   (09.01.2014 в 23:54)   письмо автору
 
   для: clubxaliav   (09.01.2014 в 23:35)
 

При чем тут обновление? Вы изначально спрашивали о вставке большого массива данных, как это лучше сделать и по чему надо обязательно ориентироваться вам и было рассказано.

Обновление одним запросом для многих строк сразу так же "кучей" как и вставку можно сделать только тогда, когда у всех строк данные одинаковы. Обновлять придется построчно, ничего делить не надо. Если у вас есть таблица с М числом записей, и вам надо обновить все эти М записей, то тогда вместо обновления можно очистить таблицу, а потом сделать вставку как рассказано выше.

И вообще, по всем этим вопросам в раздел MySQL, объяснив конкретно чего и при каких условиях обновлять, и т.п.

  Ответить  
 
 автор: clubxaliav   (09.01.2014 в 23:35)   письмо автору
 
   для: confirm   (09.01.2014 в 23:32)
 

Т.е для обновления придется делить файл в ручную, чтобы не превысить размер максимального пакета?

  Ответить  
 
 автор: confirm   (09.01.2014 в 23:32)   письмо автору
 
   для: clubxaliav   (09.01.2014 в 23:24)
 

Обновление, это иная операция, подобного для нее нет.

  Ответить  
 
 автор: clubxaliav   (09.01.2014 в 23:24)   письмо автору
 
   для: confirm   (09.01.2014 в 23:14)
 

А если обновлять данные товары опять тем же файлом, где 10000 товаров - UPDATE можно реализовать упрощенно?

  Ответить  
 
 автор: confirm   (09.01.2014 в 23:14)   письмо автору
 
   для: clubxaliav   (09.01.2014 в 23:08)
 

Ну а куда же еще его вставлять? Перед подготовкой данных получаете установку сервера этим скриптом. Значение в байтах, это тоже самое что и длина строки, которая тоже выражается в байтах для ASCII. Если данные в UTF, то это надо учитывать при контроле.

  Ответить  
 
 автор: clubxaliav   (09.01.2014 в 23:08)   письмо автору
 
   для: confirm   (09.01.2014 в 22:57)
 

Многострочный INSERT буду пробывать, спасибо за направление.

А вот по максимальному размеру пакета, этот скрипт оставить без изменений, вставить на страницу с выполнением запроса, он тупа покажет максимум для загрузки, правильно я понял?

  Ответить  
 
 автор: confirm   (09.01.2014 в 22:57)   письмо автору
 
   для: clubxaliav   (09.01.2014 в 22:16)
 

Вставлять в базу тысячи строк как foreach() { insert } это очень плохо. Но есть многострочный вариант вставки: INSERT INTO tbl (field1,field2,...,fieldN) VALUES (value1,value2,...,valueN), (value1,value2,...,valueN),...,(value1,value2,...,valueN)

Поэтому, в цикле нужно не базу гонять, а приготовить строки данных для многострочной записи, а затем уже их вставить в базу. Какой длины будет каждая строка (value1,value2,...,valueN), (value1,value2,...,valueN),...,(value1,value2,...,valueN) для одного цикла записи определяет размер ваших данных, и чтобы узнать этот допустимый размер, необходимо узнать выше показанным способом максимальный размер пакета для записи.
При подготовке данных к записи контролируйте длину их со всем обрамлением (кавычки где надо, скобки, запятые...) по этой установке сервера. Если все ваши данные не превысят этот установленный размер, то запрос к базе будет всего один, иначе несколько, но гораздо меньше чем тысяча.

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования