Ben bir php komut dosyası var, ben cron çalıştırmak için kullanabilirsiniz.
Bu komut çalıştırırken 16000 kullanıcı kayıtları üzerinde yaklaşık 13 dakika sürer.
Please advice me to make this script running with the best performance.
Ben güncelleştirmeyi koymak, herhangi bir sorun varsa o zaman bir döngü içine eklemek, ya da bir döngü içinde güncelleştirmek sonra eklemek olduğunu bilmek gerekir.
$db_conn = getDbObject('my_db');
$now_timestamp = time();
$message_text = getMessage('notify');
$users_sql = "SELECT * FROM users_tbl WHERE status = 'sub' and expire_timestamp < '{$now_timestamp}' ";
$users_result = mysql_query($users_sql,$db_conn);
while($user_row = mysql_fetch_assoc($users_result)){
$update_user_sql = "UPDATE users_tbl SET status = 'pending' WHERE user_id = '{$user_row['user_id']}' ";
mysql_query($insert_message_sql,$db_conn);
$insert_message_sql = "INSERT INTO
messages_tbl
(
message_id ,
message_text ,
user_id ,
status
)
VALUES
(
NULL ,
'{$message_text}',
'{$user_row['user_id']}',
'0',
)";
mysql_query($insert_message_sql,$db_conn);
}
mysql_close($db_conn);