Pourquoi l'interrogation à l'aide de la base de données/sql est-elle beaucoup plus lente que l'interrogation directe de la base de données ?
Lors de l'utilisation de la base de données/sql dans Go, la requête initiale peut être considérablement plus lent que les requêtes ultérieures. En effet, une nouvelle connexion à la base de données est établie pour la première requête. Pour atténuer cela, il est recommandé d'utiliser la méthode Ping sur le pool de connexions à la base de données pour établir une connexion avant d'exécuter la première requête.
Raison de l'écart
La base de données Le package /sql gère un pool de connexions, plutôt qu’une seule connexion. Lorsque la méthode Query est appelée pour la première fois, elle obtient une connexion du pool et exécute la requête. Toutefois, si le pool est vide, une nouvelle connexion doit être établie, ce qui peut prendre un certain temps. Les requêtes suivantes réutilisent la connexion existante, les rendant plus rapides.
Solution
Pour éviter ce délai initial, la méthode Ping peut être utilisée pour établir une connexion avant la première requête . Cela garantit qu'une connexion est disponible pour la première requête, réduisant ainsi le temps d'exécution global.
Notes supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!