Position actuelle: Accueil> Derniers articles> Comment calculer le temps d'exécution d'une requête SQL à l'aide de la fonction GetTimeOfday?

Comment calculer le temps d'exécution d'une requête SQL à l'aide de la fonction GetTimeOfday?

gitbox 2025-05-27

1. Pourquoi choisir GetTimeOfday?

  • : Le temps de retour est précis aux microsecondes, adapté aux mesures à court terme.

  • Facilité d'utilisation : aucune extension supplémentaire n'est invoquée, le support natif PHP.

  • Bonne compatibilité : disponible sur la plupart des systèmes de type UNIX et des environnements PHP.

2. Introduction à la fonction gettimeofday

La syntaxe de la fonction GetTimeOfday est la suivante:

 array gettimeofday([bool $return_float = false])
  • Si $ return_float est défini sur true , le flotteur (secondes. Microsecondes) de l'heure actuelle est renvoyé.

  • Si false est la valeur par défaut, un tableau contenant le nombre de secondes et de microsecondes est renvoyé.

Par exemple:

 $time = gettimeofday(true);
echo $time; // Par exemple la sortie:1685021654.123456

3. Calculer le temps d'exécution en combinaison avec la requête SQL

Voici un exemple typique d'utiliser MySQLI pour effectuer des requêtes SQL et calculer le temps:

 <?php
// Connectez-vous à la base de données
$mysqli = new mysqli("gitbox.net", "username", "password", "database");

if ($mysqli->connect_error) {
    die("Échec de la connexion: " . $mysqli->connect_error);
}

// Enregistrer l&#39;heure de début de la requête
$start = gettimeofday(true);

// mettre en œuvre SQL Requête
$sql = "SELECT * FROM users WHERE status = 1";
$result = $mysqli->query($sql);

if (!$result) {
    die("Requête错误: " . $mysqli->error);
}

// 记录Requête结束时间
$end = gettimeofday(true);

// 计算mettre en œuvre时间
$duration = $end - $start;

echo "SQL Requêtemettre en œuvre时间: " . round($duration, 6) . " Deuxième\n";

// Libérez l&#39;ensemble de résultats
$result->free();

// Fermer la connexion
$mysqli->close();
?>

Description du code:

  • Utilisez GetTimeOfday (true) pour obtenir le nombre de secondes de points flottants avec un point décimal.

  • Enregistrer $ Démarrer avant le début de la requête et enregistrer $ fin après la requête.

  • La soustraction entre les deux est le nombre de secondes utilisées pour la requête (nombre de points flottants, y compris les microsecondes).

  • Utilisez Round () pour conserver 6 décimales pour afficher le temps de microseconde.

4. Résumé

L'utilisation de la fonction GetTimeOfday pour calculer avec précision le temps d'exécution de la requête SQL peut aider les développeurs à découvrir des goulots d'étranglement de performances et à optimiser davantage l'efficacité de la requête de la base de données. Cette méthode est simple et efficace, adaptée à la plupart des scénarios d'application PHP.