Ich habe mehr als 50.000 registrierte Benutzer in meiner WP_Users Tabelle. Oft muss ich Abfragen ausführen, die die verschiedenen Zustände meiner Benutzer als Ganzes überprüfen und zählen.Scaling WordPress Benutzerabfragen
Ich schreibe oft so etwas wie das Folgende.
$users = get_users(); //This query is not limited I need to run across all my users.
$active_users = 0;
foreach ($users as $user) {
$last_transaction_date = strtotime(get_user_meta($user_id, 'last_trans_date', true));
$next_recurring_date = strtotime(get_user_meta($user_id, 'next_recurring_date', true));
$todays_date = strtotime('now');
if ($todays_date >= $last_transaction_date && $todays_date <= $next_recurring_date) {
$active_users++;
}
}
Das Problem dabei ist, dass es generiert 2 Datenbankaufrufe pro Benutzer so ist es unglaublich langsam und anfällig für Dinge Absturz zu machen. Hat jemand einen Vorschlag?