Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie microtime (), um die Abfrage zu testen und die Zeit zu lesen

Verwenden Sie microtime (), um die Abfrage zu testen und die Zeit zu lesen

M66 2025-05-28

Wie verwendet ich microtime (), um die spezifische zeitaufwändige Abfrage von MySQLI_Result zu testen und Daten zu lesen?

In PHP müssen wir normalerweise die Ausführungszeit von Datenbankabfragevorgängen testen. Um die Leistung des Systems zu optimieren, ist es wichtig, die zeitaufwändige jeder Operation zu verstehen. Die Microtime () -Funktion ist ein sehr nützliches Tool, das den aktuellen Unix -Zeitstempel zurückgibt und den Teil der Mikrosekunden enthält und uns dabei hilft, genaue Zeitmessungen vorzunehmen. In diesem Artikel wird angezeigt, wie Sie microtime () verwenden können, um die spezifische zeitaufwändige Abfrage von MySQLI_Result zu testen und Daten zu lesen.

1. Verbinden Sie eine Verbindung zur MySQL -Datenbank

Verwenden Sie zunächst die MySQLI -Erweiterung, um eine Verbindung zur Datenbank herzustellen. Nehmen wir hier an, dass Sie bereits über einen Datenbankserver ausgeführt werden und über den folgenden Code herstellen können:

 <?php
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'testdb';

$conn = new mysqli($host, $username, $password, $database);

// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($conn->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}
?>

2. Verwenden Sie microtime (), um die Anfragestartzeit zu messen

Die Funktion microtime () gibt den aktuellen Unix -Zeitstempel genau auf Mikrosekunden zurück. Wir verwenden es, um die Zeit aufzuzeichnen, in der die Abfrage beginnt.

 <?php
// Holen Sie sich die Zeit, als die Anfrage begann
$start_time = microtime(true);
?>

1. Führen Sie die Datenbankabfrage aus

Hier führen wir eine einfache SQL -Abfrage aus, um Daten aus der Datenbank zu erhalten. Es kann jede Abfrage sein, hier geht davon aus, dass es sich um eine Abfrage handelt, die alle Daten aus der Benutzertable auswählt:

 <?php
$query = "SELECT * FROM users";
$result = $conn->query($query);

if (!$result) {
    die("Abfrage fehlgeschlagen: " . $conn->error);
}
?>

4. Lesen Sie die Abfrageergebnisse

Sobald die Abfrage erfolgreich ausgeführt wurde, werden wir die Ergebnisse lesen und die Zeit messen, die zum Lesen der Daten benötigt wird. Wir verwenden microtime () , um die Zeit aufzuzeichnen, in der die Lesedaten beginnen.

 <?php
// Erhalten Sie die Zeit, in der die Lesedaten beginnen
$read_start_time = microtime(true);

// Lesen Sie alle Ergebnisse
while ($row = $result->fetch_assoc()) {
    // Hier können Sie jede Datenreihe verarbeiten
    // Beispiel:echo $row['name'];
}

// Erhalten Sie die Zeit, in der die Lesedaten enden
$read_end_time = microtime(true);
?>

5. zeitaufwändige Messanfrage und zeitaufwändiges Lesen

Schließlich können wir den zeitaufwändigen Prozess vom Beginn der Abfrage bis zum Abschluss des Lesens der Daten berechnen. Hier ist der Code für die Berechnung:

 <?php
// Zeitaufwändige Anfrage
$query_time = $read_start_time - $start_time;

// Zeit zum Lesen
$read_time = $read_end_time - $read_start_time;

// Ausgangsergebnis
echo "Zeitaufwändige Anfrage: " . round($query_time, 5) . " Zweite<br>";
echo "Zeit zum Lesen von Daten: " . round($read_time, 5) . " Zweite<br>";
?>

6. Schließen Sie die Datenbankverbindung

Vergessen Sie nicht, die Datenbankverbindung zu schließen.

 <?php
$conn->close();
?>

7. Komplette Beispielcode

Wenn Sie die vorherigen Schritte zusammenfügen, finden Sie hier ein vollständiges Code -Beispiel:

 <?php
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'testdb';

$conn = new mysqli($host, $username, $password, $database);

if ($conn->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}

// Holen Sie sich die Zeit, als die Anfrage begann
$start_time = microtime(true);

// Eine Frage ausführen
$query = "SELECT * FROM users";
$result = $conn->query($query);

if (!$result) {
    die("Abfrage fehlgeschlagen: " . $conn->error);
}

// Erhalten Sie die Zeit, in der die Lesedaten beginnen
$read_start_time = microtime(true);

// Lesen Sie alle Ergebnisse
while ($row = $result->fetch_assoc()) {
    // Hier können Sie jede Datenreihe verarbeiten
    // Beispiel:echo $row['name'];
}

// Erhalten Sie die Zeit, in der die Lesedaten enden
$read_end_time = microtime(true);

// Zeitaufwändige Anfrage
$query_time = $read_start_time - $start_time;

// Zeit zum Lesen
$read_time = $read_end_time - $read_start_time;

// Ausgangsergebnis
echo "Zeitaufwändige Anfrage: " . round($query_time, 5) . " Zweite<br>";
echo "Zeit zum Lesen von Daten: " . round($read_time, 5) . " Zweite<br>";

// Schließen Sie die Datenbankverbindung
$conn->close();
?>

Zusammenfassen

Durch die Verwendung der Funktion microtime () können Sie die Ausführungszeit der MySQL -Abfrage und die Zeit des Datenlesens genau messen. Dies ist sehr hilfreich, um Datenbankabfragen zu optimieren und die Anwendungsleistung zu verbessern. Sie können die Abfrageanweisung nach Bedarf ändern oder für verschiedene Datenbankvorgänge entsprechend optimieren.