Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
DECRIRE EXECUTION RECHERCHE
|
DECRIRE EXECUTION RECHERCHE ( statut ) | ||||||||
Paramètre | Type | Description | ||||||
statut | Booléen |
![]() |
Vrai=Enregistrer la description des requêtes, Faux=Stopper l'enregistrement | |||||
La commande DECRIRE EXECUTION RECHERCHE permet d’activer ou d’inactiver le mode d’analyse de l’exécution des recherches pour le process courant. La commande fonctionne uniquement dans le contexte des commandes de recherche du langage 4D telles que CHERCHER.
L’appel de la commande avec le paramètre statut à Vrai active le mode d’analyse des recherches. Dans ce mode, le moteur de 4D enregistrera en interne deux séries d’informations spécifiques lors de chaque requête effectuée par la suite sur les données :
Les informations enregistrées incluent le type de recherche (indexée, séquentielle), le nombre d’enregistrements trouvés et le temps nécessaire à l’exécution de chaque critère de recherche. Vous pouvez ensuite lire ces informations à l’aide des commandes Lire dernier plan recherche et Lire dernier chemin recherche.
En général, la description du plan d’une recherche et celle de son chemin sont identiques, mais elles peuvent toutefois différer car 4D peut mettre en oeuvre des optimisations dynamiques au cours de l’exécution de la recherche, dans le but d’améliorer les performances. Par exemple, une recherche indexée peut être convertie dynamiquement en recherche séquentielle si le moteur de 4D estime qu’elle sera plus rapide — c’est le cas notamment lorsque le nombre d’enregistrements parmi lesquels effectuer la recherche est faible.
Passez Faux dans le paramètre statut lorsque vous n’avez plus besoin d’analyser les recherches. Le mode d’analyse de l’exécution des recherches peut ralentir l’application.
L’exemple suivant illustre le type d’information obtenue via ces commandes :
C_TEXTE($vResultPlan;$vResultPath)
DECRIRE EXECUTION RECHERCHE(Vrai) //mode analyse
CHERCHER([Employés];[Employés]Nom="T@";*) // Chercher les employés dont le nom débute par T...
CHERCHER([Employés];&;[Sociétés]Nom="H@";*) // travaillant pour une société dont le nom débute par H
CHERCHER([Employés];&;[Employés]Salaire>2500;*) // dont le salaire est > 2500
CHERCHER([Employés];&;[Villes]nbHab<50000) // habitant dans une ville de moins de 50000 habitants
$vResultPlan:=Lire dernier plan recherche(Description format Texte)
$vResultPath:=Lire dernier chemin recherche(Description format Texte)
DECRIRE EXECUTION RECHERCHE(Faux) //Fin du mode analyse
A l’issue de l’exécution de ce code, $vResultPlan et $vResultPath contiennent les descriptions des recherches effectuées, par exemple :
$vResultPlan :
Employés.Nom == T@ And Employés.Salaire > 2500 And Join on Table : Sociétés : Employés.Société = Sociétés.Nom [index : Sociétés.Nom ] LIKE H@ And Join on Table : Villes : Employés.Ville = Villes.Nom [index : Villes.nbHab ] < 50000
$vResultPath :
(Employés.Nom == T@ And Employés.Salaire > 2500) And (Join on Table : Sociétés : Employés.Société = Sociétés.Nom with filter {[index : Sociétés.Nom ] LIKE H@}) And (Join on Table : Villes : Employés.Ville = Villes.Nom with filter {[index : Villes.nbHab ] < 50000}) (3 records found in 1 ms)
Si la constante Description format XML est passée à la commande Lire dernier chemin recherche, $vResultPath contient la description de la recherche exprimée en XML :
$vResultPath : <QueryExecution> <steps description="And" time="0" recordsfounds="1227"> <steps description="[Merge] : ACTORS with CITIES" time="13" recordsfounds="1227"> <steps description="[Join] : ACTORS.Birth_City_ID =CITIES.City_ID" time="13" recordsfounds="1227"/> </steps> </steps> </QueryExecution>
Produit : 4D
Thème : Recherches et tris
Numéro :
1044
Nom intl. : DESCRIBE QUERY EXECUTION
Créé : 4D v11 SQL Release 1
4D - Langage ( 4D v20 R7)