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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Maximum execution time of 30 seconds exceeded in
 
 автор: Den*s   (02.03.2007 в 13:24)   письмо автору
 
 

Привет всем. У меня есть скрипт который импортирует из файла записи в базу
Их может быть больше миллиона
после 30 секунд выполнения MySQL выдаёт ошибку

Fatal error: Maximum execution time of 30 seconds exceeded in...

За это время записывается только около 25 000 записей.
Как мне снять это ограничение
Файл my.cnf мне не помог (там параметр set-variable = flush_time=1800)
судя по всему 1800 это 30 сек в мил. сек.

   
 
 автор: tuder   (02.03.2007 в 13:43)   письмо автору
 
   для: Den*s   (02.03.2007 в 13:24)
 

Резать файл записи на куски и частями вводить.

У меня так одна контора переделала вывод из 1С, чтобы обновлять кактлог на сайте.

   
 
 автор: Den*s   (02.03.2007 в 13:51)   письмо автору
 
   для: tuder   (02.03.2007 в 13:43)
 

Сейчас попробую...
Ну всё же где храниться эта переменная, в каком файле?

   
 
 автор: Trianon   (02.03.2007 в 14:13)   письмо автору
 
   для: Den*s   (02.03.2007 в 13:24)
 

Формируйте многострочный INSERT.
Не на все строки, конечно, на тысячу-две...
Время выполнения сократится в десятки раз.

MySQL такую диагностику не выдает, тут вы ошиблись.

   
 
 автор: Den*s   (02.03.2007 в 14:55)   письмо автору
 
   для: Trianon   (02.03.2007 в 14:13)
 

Если можно, напишите пример многострочного INSERT,
Просто я начинающий, и мне нужно затратить некоторое время, что бы откапать в литературе такой пример... :(
А посмотреть такую переменную можно через phpMyAdmin
delayed_insert_timeout ...
delayed_insert_limit ...
и ещё как то через командную строку


shell> mysqld --help
Эта команда выдает список всех опций mysqld и конфигурируемых переменных. Вывод включает в себя величины по умолчанию и выглядит примерно следующим образом: 
Possible variables for option --set-variable (-O) are:
back_log                 current value: 5
bdb_cache_size           current value: 1048540
binlog_cache_size        current value: 32768
connect_timeout          current value: 5
delayed_insert_timeout   current value: 300
delayed_insert_limit     current value: 100
delayed_queue_size       current value: 1000
flush_time               current value: 0
interactive_timeout      current value: 28800
join_buffer_size         current value: 131072
key_buffer_size          current value: 1048540
lower_case_table_names   current value: 0
long_query_time          current value: 10
max_allowed_packet       current value: 1048576
max_binlog_cache_size    current value: 4294967295
max_connections          current value: 100
max_connect_errors       current value: 10
max_delayed_threads      current value: 20
max_heap_table_size      current value: 16777216
max_join_size            current value: 4294967295
max_sort_length          current value: 1024
max_tmp_tables           current value: 32
max_write_lock_count     current value: 4294967295
myisam_sort_buffer_size  current value: 8388608
net_buffer_length        current value: 16384
net_retry_count          current value: 10
net_read_timeout         current value: 30
net_write_timeout        current value: 60
read_buffer_size         current value: 131072
record_rnd_buffer_size   current value: 131072
slow_launch_time         current value: 2
sort_buffer              current value: 2097116
table_cache              current value: 64
thread_concurrency       current value: 10
tmp_table_size           current value: 1048576
thread_stack             current value: 131072
wait_timeout             current value: 28800

   
 
 автор: Trianon   (02.03.2007 в 15:12)   письмо автору
 
   для: Den*s   (02.03.2007 в 14:55)
 


INSERT INTO tbl (column1, column2) VALUES
(val11, val12),
(val21, val22),
(val31, val32),
.....
(valn1, valn2);

   
 
 автор: cheops   (02.03.2007 в 18:34)   письмо автору
 
   для: Den*s   (02.03.2007 в 14:55)
 

Если будете многострочный INSERT использовать увеличте значение переменной max_allowed_packet - сейчас у вас она равна 1Мб, следовательно запросы, превышающие этот размер выполняться не будут.

   
Rambler's Top100
вверх

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