Temps d'exécution d'une Requête SQLite: Unités
Comme décrit dans SQLite Documentation on peut utiliser:
sqlite> .timer ON
ou ajouter la même commande dans ~/.sqliterc
Lorsque cela est fait, l'SQLite shell répond avec l'utilisateur et sys composants de Temps CPU pour chaque requête exécutée:
user@machine% sqlite3 test.db
-- Loading resources from ~/.sqliterc
SQLite version 3.7.14 2012-09-03 15:42:36
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select count(*) from my_table;
count(*)
10143270
CPU Time: user 0.199970 sys 1.060838
Alors que je trouve cette réponse fournir des preuves pour les unités de temps en secondes, je vais avoir un moment difficile de convenir avec elle. Lors de la synchronisation de l'exécution d'une requête à l'aide d'un chronomètre, je trouve presque à chaque requête pour être pris plus de temps que ce que la coquille fois comme prendre. Par exemple, la requête chronométré dans l'exemple ci-dessus a pris environ un peu plus de 1 minute et 54 secondes en temps réel. Quelle est la raison de cet écart?
Donc, encore une fois, ce sont les unités? Quelles sont utilisateur et sys composants?
Je suis en cours d'exécution SQLite 3.7.14 sur un GNU/Linux Debian 6.0.6 (squeeze) distribution accessible par NFS.
Vous devez vous connecter pour publier un commentaire.
user
est le temps que le CPU passé à l'exécution de code dans l'espace utilisateur (c'est à dire, dans la base de données elle-même);sys
est pour le code dans le noyau.Lorsque vous effectuez I/O, la CPU passe la plupart du temps d'attente.
Les versions récentes de SQLite également afficher le temps réel écoulé: