Comment utiliser MicroTime () pour tester le temps spécifique de la requête MySQLI_RESULT et lire les données?
Dans PHP, nous devons généralement tester le temps d'exécution des opérations de requête de base de données. Pour optimiser les performances du système, il est important de comprendre le temps de chaque opération. La fonction MicroTime () est un outil très utile qui renvoie le horodatage UNIX actuel, contenant la partie microsecondes, nous aidant à effectuer des mesures de temps précises. Cet article montrera comment utiliser MicroTime () pour tester le temps spécifique de la requête MySQLI_RESULT et de lire les données.
Tout d'abord, utilisez l'extension MySQLI pour se connecter à la base de données. Ici, supposons que vous avez déjà un serveur de base de données en cours d'exécution et que vous pouvez vous connecter via le code suivant:
<?php
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'testdb';
$conn = new mysqli($host, $username, $password, $database);
// Vérifiez si la connexion réussit
if ($conn->connect_error) {
die("Échec de la connexion: " . $conn->connect_error);
}
?>
La fonction MicroTime () renvoie l'horodatage UNIX actuel, précis aux microsecondes. Nous l'utilisons pour enregistrer l'heure au début de la requête.
<?php
// Obtenez le temps au début de la requête
$start_time = microtime(true);
?>
Ici, nous exécutons une requête SQL simple pour obtenir des données de la base de données. Il peut s'agir de n'importe quelle requête, suppose ici que c'est une requête qui sélectionne toutes les données dans le tableau des utilisateurs :
<?php
$query = "SELECT * FROM users";
$result = $conn->query($query);
if (!$result) {
die("La requête a échoué: " . $conn->error);
}
?>
Une fois la requête exécutée avec succès, nous commencerons à lire les résultats et à mesurer le temps nécessaire pour lire les données. Nous utilisons MicroTime () pour enregistrer le moment où les données de lecture commencent.
<?php
// Obtenez le temps du démarrage des données de lecture
$read_start_time = microtime(true);
// Lisez tous les résultats
while ($row = $result->fetch_assoc()) {
// Ici, vous pouvez traiter chaque ligne de données
// Exemple:echo $row['name'];
}
// Obtenez le temps où les données de lecture se terminent
$read_end_time = microtime(true);
?>
Enfin, nous pouvons calculer le processus long du début de la requête à l'achèvement de la lecture des données. Voici le code pour calculer:
<?php
// Enquête chronophage
$query_time = $read_start_time - $start_time;
// Il est temps de lire
$read_time = $read_end_time - $read_start_time;
// Résultat de sortie
echo "Enquête chronophage: " . round($query_time, 5) . " Deuxième<br>";
echo "Il est temps de lire les données: " . round($read_time, 5) . " Deuxième<br>";
?>
Après avoir terminé la requête et la lecture des données, n'oubliez pas de fermer la connexion de la base de données.
<?php
$conn->close();
?>
En assemblant les étapes précédentes, voici un exemple de code complet:
<?php
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'testdb';
$conn = new mysqli($host, $username, $password, $database);
if ($conn->connect_error) {
die("Échec de la connexion: " . $conn->connect_error);
}
// Obtenez le temps au début de la requête
$start_time = microtime(true);
// Exécuter une requête
$query = "SELECT * FROM users";
$result = $conn->query($query);
if (!$result) {
die("La requête a échoué: " . $conn->error);
}
// Obtenez le temps du démarrage des données de lecture
$read_start_time = microtime(true);
// Lisez tous les résultats
while ($row = $result->fetch_assoc()) {
// Ici, vous pouvez traiter chaque ligne de données
// Exemple:echo $row['name'];
}
// Obtenez le temps où les données de lecture se terminent
$read_end_time = microtime(true);
// Enquête chronophage
$query_time = $read_start_time - $start_time;
// Il est temps de lire
$read_time = $read_end_time - $read_start_time;
// Résultat de sortie
echo "Enquête chronophage: " . round($query_time, 5) . " Deuxième<br>";
echo "Il est temps de lire les données: " . round($read_time, 5) . " Deuxième<br>";
// Fermez la connexion de la base de données
$conn->close();
?>
En utilisant la fonction MicroTime () , vous pouvez mesurer avec précision le temps d'exécution de la requête MySQL et le moment de la lecture des données. Ceci est très utile pour optimiser les requêtes de base de données et améliorer les performances des applications. Vous pouvez modifier l'instruction de requête selon les besoins ou l'optimiser en conséquence pour différentes opérations de base de données.