SQL-Performance verbessern (Ingress/OBCD)

lerxx

Neuer Benutzer
Beiträge
2
Hallo liebe Community,


ich arbeite derzeit an einer Homepage, bei der ich anhand von verschiedenen Datenbankabfragen Statistiken darstellen will. Nun ist es aber so, dass die Homepage so um die 2 Minuten zum laden braucht, woraufhin ich die performance verbessern will. Vielleicht bringt es einzelne Abfragen zu verbessern.

Zu meiner Frage: Dauert das rechnen innerhalb einer Datenbankabfrage länger als im php-code bspw.?

Hier der Code von bisher:

Code:
$status_dep = Yii::$app->db->createCommand("select a, b, (count(c)* 100 / (select count(*) From database where a = 'CH')) as percentage
            from database
            where dep = 'CH' and crd > '2017-10-10'
            group By a, b
            order by a")
            ->queryAll();
 
Werbung:
das geht fast immer in der Datenbank schneller als z.B. in PHP. Vermutlich gilt das sogar bei MySQL, was ich aber nicht nutze. Was sagt denn EXPLAIN zu Deiner Abfrage?
 
Werbung:
man sollte vielleicht noch erwähnen, daß das MySQL-EXPLAIN dageben schlicht Schrott ist. MySQL hat solche Konzepte wie einen kostenbasierten Planner nicht und die EXPLAIN-Ausgabe ist, ähm, nun ja. Quasi ein Brechmittel.
 
Zurück
Oben