MikhailK
Новичок
Что изменится, если между апдейтами поставить временные задержки?
Есть скрипт, модифицирующий базу, который запускается по крону раз в полчаса и он достаточно тяжелый - время выполнения около трех секунд. Если пользователи в этот момент проводят свои операции с БД, возникает неприятная задержка, поскольку скрипт блокирует сразу все основные таблицы, из которых пользователи берут данные.
В скрипте пять команд UPDATE для разных таблиц и с разными параметрами, причем логика приложения позволяет выполнять их не вместе, а последовательно, например, с интервалом в пять минут.
Я могу, конечно, сделать пять отдельных php-скриптов и всех их повесить на крон, но вот такой вариант имеет право на существование? Или я чего-то не понимаю?
Тип таблиц MyISAM
Есть скрипт, модифицирующий базу, который запускается по крону раз в полчаса и он достаточно тяжелый - время выполнения около трех секунд. Если пользователи в этот момент проводят свои операции с БД, возникает неприятная задержка, поскольку скрипт блокирует сразу все основные таблицы, из которых пользователи берут данные.
В скрипте пять команд UPDATE для разных таблиц и с разными параметрами, причем логика приложения позволяет выполнять их не вместе, а последовательно, например, с интервалом в пять минут.
Я могу, конечно, сделать пять отдельных php-скриптов и всех их повесить на крон, но вот такой вариант имеет право на существование? Или я чего-то не понимаю?
PHP:
<?php
...
$query = "update table1... ";
mysql_query($query );
sleep(300);
$query = "update table2... ";
mysql_query($query );
sleep(300);
$query = "update table3... ";
mysql_query($query );
sleep(300);
$query = "update table4... ";
mysql_query($query );
sleep(300);
$query = "update table5... ";
mysql_query($query );
...
?>