Bonjour,
Alors ma question, ne vas pas être un problème de code (ça peut le devenir ^^)

Dans mon projet, il y a des sortes de groupe, et pour chaque groupe, il y a des sortes d'addon qui a dans ses paramètres le nom de la base de données à utiliser (avec toutes les informations pour se connecter), et les tables auxquelles il doit communiquer.
Bref, le problème c'est que j'ai une classe qui a pour but de vérifier pour chaque plugin du groupe, s'il y a bien une connexion à la base de données, et aussi si les table existe.

La question que je me pose, c'est le risque de latence pour chaque demande. Car, 1 plugin qui va utiliser 4 tables, ce n'est rien, c'est très peu de requête Sql.

Mais par exemple, si elle doit gérer +20 plugin, et qu'au total il y a plus de 100 tables.
Je suppose, que c'est un gros risque de faire 20 fois un teste de connexion, et 100 fois une vérification si la table existe bien.

Attention, je dit bien qu'il fait qu'un check du non de la table, je fait un coup de SHOW TABLES et je fait une petite boucle pour vérifié si ma table existe bien.

Je voudrais bien avoir votre avis.
Merci ;)

2 réponses


Grafikart
Réponse acceptée

Le mieux est de déléguer le test dans une classe qui va faire la vérif à la fin

$app = new App();
$app->loadPlugin('a');
$app->loadPlugin('b');
$app->loadPlugin('c');
$app->testDatabase(); // Utilisera la liste des plugins collectés et fera un seul showTable

Bonjour, et merci pour ta réponse ;)
Ton code me donne comme idée une sorte d'array avec comme clé, le nom de la base de données sûr là quel il faut ce connecté, et comme valeur un array de table.
Je sais pas si tu trouves que mon raisonnement est logique par rapport au code que tu as fourni.
Désolé, de pas avoir répondu plus tôt, j'ai pris quelque jours de vacance ^^