Tn
Guest
Проблемка не знаю с чем . Help :\
Делаю много инсертов в базу mysql в одном скрипте. Почему то не получается завершить все их до конца. Скрипт умирает. Иногда 8000 записей запишет, иногда 2000, и всегда разное число. Все инсерты не большого размера (никаких BLOB). Наряду идет выборка из базы, результаты которой влияют на данные в инсертах (поэтому видимо не получится сделать с помощью LOAD DATA ..)
Вот некоторые характеристики php.ini :
max_execution_time = 90 (скрипт работает намного дольше 1.5 минуты)
memory_limit = 16M (имхо, должно хватать, по крайней мере если для 8000 записей хватило, то на 2000 он обламывается не по причине нехватки памяти)
upload_max_filesize = 16M
Вот переменные mysql (mysql Ver 10.12 Distrib 3.23.27-beta, for pc-linux-gnu (i686)):
ansi_mode OFF
back_log 50
connect_timeout 5
concurrent_insert ON
datadir /var/lib/mysql/
delay_key_write ON
delayed_insert_limit | 100
delayed_insert_timeout | 300
delayed_queue_size | 1000
join_buffer_size | 131072
flush | OFF
flush_time | 0 |
interactive_timeout | 28800
key_buffer_size | 16773120
locked_in_memory | OFF
long_query_time | 10
low_priority_updates | OFF
max_allowed_packet | 16776192
max_connections | 100
max_connect_errors | 10
max_delayed_threads | 20
max_heap_table_size | 16777216
max_join_size | 4294967295
max_sort_length | 1024
max_tmp_tables | 32
max_write_lock_count | 4294967295
myisam_recover_options | OFF
myisam_sort_buffer_size | 8388608
net_buffer_length | 16384
net_retry_count | 10 | record_buffer 131072 |
| server_id | 0 |
| skip_locking | ON |
| skip_networking | OFF |
| skip_show_database | OFF |
| slow_launch_time | 2 |
| socket | /var/lib/mysql/mysql.sock |
| sort_buffer | 2097144 |
| table_cache | 64 |
| table_type | MYISAM |
| thread_stack | 131072 |
| thread_cache_size | 0 |
| timezone | CET |
| tmp_table_size | 1048576 |
| tmpdir | /tmp/ |
| version | 3.23.27-beta |
| wait_timeout | 28800
Подскажите что бы вы предприняли (проверили) возникнув у вас такая проблема. (mysql, php обновить не могу) ?
Делаю много инсертов в базу mysql в одном скрипте. Почему то не получается завершить все их до конца. Скрипт умирает. Иногда 8000 записей запишет, иногда 2000, и всегда разное число. Все инсерты не большого размера (никаких BLOB). Наряду идет выборка из базы, результаты которой влияют на данные в инсертах (поэтому видимо не получится сделать с помощью LOAD DATA ..)
Вот некоторые характеристики php.ini :
max_execution_time = 90 (скрипт работает намного дольше 1.5 минуты)
memory_limit = 16M (имхо, должно хватать, по крайней мере если для 8000 записей хватило, то на 2000 он обламывается не по причине нехватки памяти)
upload_max_filesize = 16M
Вот переменные mysql (mysql Ver 10.12 Distrib 3.23.27-beta, for pc-linux-gnu (i686)):
ansi_mode OFF
back_log 50
connect_timeout 5
concurrent_insert ON
datadir /var/lib/mysql/
delay_key_write ON
delayed_insert_limit | 100
delayed_insert_timeout | 300
delayed_queue_size | 1000
join_buffer_size | 131072
flush | OFF
flush_time | 0 |
interactive_timeout | 28800
key_buffer_size | 16773120
locked_in_memory | OFF
long_query_time | 10
low_priority_updates | OFF
max_allowed_packet | 16776192
max_connections | 100
max_connect_errors | 10
max_delayed_threads | 20
max_heap_table_size | 16777216
max_join_size | 4294967295
max_sort_length | 1024
max_tmp_tables | 32
max_write_lock_count | 4294967295
myisam_recover_options | OFF
myisam_sort_buffer_size | 8388608
net_buffer_length | 16384
net_retry_count | 10 | record_buffer 131072 |
| server_id | 0 |
| skip_locking | ON |
| skip_networking | OFF |
| skip_show_database | OFF |
| slow_launch_time | 2 |
| socket | /var/lib/mysql/mysql.sock |
| sort_buffer | 2097144 |
| table_cache | 64 |
| table_type | MYISAM |
| thread_stack | 131072 |
| thread_cache_size | 0 |
| timezone | CET |
| tmp_table_size | 1048576 |
| tmpdir | /tmp/ |
| version | 3.23.27-beta |
| wait_timeout | 28800
Подскажите что бы вы предприняли (проверили) возникнув у вас такая проблема. (mysql, php обновить не могу) ?