Mysql
 sql >> Datenbank >  >> RDS >> Mysql

ORDER BY datetime macht die Abfrage sehr langsam

Bitte versuchen Sie Folgendes:

  1. Erstellen Sie einen Index für die Spalten (phone_calls.trigger_on, phone_calls.status, phone_calls.owner_id) Nennen Sie es pcto

  2. Ändern Sie Ihre FROM-Klausel in:

    FROM phone_calls AS ph FORCE INDEX (pcto)

Das ist das Ideal. Wenn es nicht funktioniert, dann fügen Sie einen Kommentar hinzu und ich werde Ihnen eine andere Methode nennen, die garantiert funktioniert und Ihnen die Leistungsverbesserung bringt, die Sie brauchen.

BITTE BEACHTEN SIE:Es spielt keine Rolle (und ist in der Tat nicht gut), Indizes auf "jeder" Spalte in Ihrer Abfrage aufzubauen. MySQL kann nur EINEN Index pro Tabelle (oder genauer gesagt pro Tabellenalias) verwenden. Sie müssen die Indizes erstellen, die wir Ihnen sagen.