# Optimiser le temps de calcul pour les sélections d'enregistrements

Quand vous faites des sélections d'enregistrement (des requêtes, des calculs sélection etc.), il est préférable de faire attention à l'ordre des conditions au sein d'un groupe d'un même opérateur (que des ET par exemple) afin d'accélérer les requêtes (dans toutes versions antérieures à la version 6).

&#x20;

Il est préférable de respecter l'ordre suivant :

\- Calcul recalculé

\- conditions « contient », « ne contient pas », « commence par », « ne commence pas par », « finit

par », « ne finit pas par »

\- les autres conditions

&#x20;

Exemple:

Soit le formulaire « commande » avec les colonnes :

\- « Id. unique » de modèle Id. unique

\- « Total TTC » de modèle entier, recalculé à chaque fois

\- « Réf client » de modèle texte

\- « Date cmd » de modèle date

&#x20;

Soit le calcul suivant&#x20;

<figure><img src="https://1324884545-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBJ3Kpe0vg6NlDz0QDIX%2Fuploads%2FKha93ja4SsGPus7bi3fi%2F9.png?alt=media&#x26;token=caff9973-e5ef-49ea-b67b-78169299315a" alt=""><figcaption></figcaption></figure>

Il y a plusieurs conditions du même opérateur (ici ET) qui peuvent être optimisées :

La requête optimisée devient&#x20;

<figure><img src="https://1324884545-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvBJ3Kpe0vg6NlDz0QDIX%2Fuploads%2FpnrAjGCRUQvGslC35U8E%2F10.png?alt=media&#x26;token=13d84b58-a58b-4594-a231-de38b4208b0c" alt=""><figcaption></figcaption></figure>

Le « Total TTC » est positionné en premier car c'est un entier recalculé à chaque fois, la condition sur la « Réf client » est positionnée en deuxième car elle possède un opérateur « commence par» ; la « Date cmd » est positionnée en dernier car c'est une condition simple.
