PHP MySQL großer Datensatz mit viel Zeit für die Anzeige in einer Winkelkomponente und einer kleinen aus der Datenbank exportierten csv-Datei

493
alim1990

BEARBEITEN

Ich habe nur ein Feld aus der gesamten Abfrage ausgewählt. Die Dateigröße wurde auf 433 KB reduziert, aber die Anzeigezeit betrug 13 Sekunden.

ENDE DER BEARBEITUNG

Ich habe folgende Frage:

SELECT *, DATE(h.hh_date_added) as dateOnly FROM unit u  INNER JOIN househ h ON u.unit_id=h.unit_id LEFT JOIN location l ON l.location_id_auto=u.location_id_auto LEFT JOIN user us ON us.user_id = h.user_id ORDER BY dateOnly DESC 

Wenn es auf phpmyadmin läuft, wird es innerhalb von 0,233 Sekunden ausgeführt und gibt 11331 Zeilen mit fast 20 Feldern zurück.

Wenn ich die Daten in csv oder Excel exportiere, würde die Größe 830 KB betragen.

Wenn Sie dieses Ergebnis mit php an den httpclientService von angle 6 zurückgeben, um es in einer Winkelmaterialtabelle anzuzeigen:

getDataByType(){ this.showSpinner=true; this.auth.getDataByType(this.dataType).subscribe( (data)=> { console.log(data) this.dataSource = new MatTableDataSource(Object.values(data)); this.dataSource.paginator = this.paginator; this.dataSource.sort=this.sort; this.showSpinner=false; }, (error)=> { console.log("Error: "+error) } )   } 

Es würde mehr als 30 Sekunden dauern (wie in der Inhalts-Download-Zeit angezeigt), um die Daten in der Tabelle anzuzeigen und dem Benutzer anzuzeigen.

Das Timing wurde auf der Registerkarte "Timing" der Registerkarte "Google Chrome Network" mit einer Dateigröße von angezeigt 15.9 Mb.

Warum ist die Dateigröße so groß?

  1. Ist das Problem aus der Materialtabelle das Anzeigen der Daten nach dem Empfang zu lang:

Ich glaube nicht, dass beim Testen postmandie gleiche Dateigröße mit einer anderen Zeit von 20 Sekunden zurückgegeben wurde.

  1. oder wegen eines Abfragefehlers, der einen großen Datensatz zurückgibt:

Ich glaube nicht, dass das Ergebnis auf Server-Computern innerhalb weniger Sekunden mit einer Excel-Datei mit einer Größe von weniger als 1 MB zurückgegeben wurde.

  1. Liegt es daran, dass ich es als Json-verschlüsselte Daten zurücksende und Chrom etwas Zeit braucht, um damit umzugehen?

Nein, weil ich versuche, die Daten innerhalb eines Arrays zu senden, ohne dass die json_encodeFunktion verwendet wird und die gleiche Größe noch größer ist (17 MB).

Ist es also ein lokales Netzwerk / Router-Problem, das die Downloadzeit enorm oder etwas anderes macht?

Bitte beziehen Sie sich auf meine vorherige Frage zum Stack, um die Verbindungsscripts zum lokalen Server zu überprüfen.

0

0 Antworten auf die Frage