Valeur système IBM i (AS/400) · Contrôle du système
QQRYTIMLMT
Durée limite estimée d'une requête
Fixe une durée estimée au-delà de laquelle une requête de base de données n'est pas lancée.
À quoi elle sert
Le système compare l'estimation du temps d'exécution d'une requête à cette limite en secondes. Si l'estimation la dépasse, la requête ne démarre pas.
C'est un garde-fou contre les requêtes mal écrites, par exemple celles produites par des outils en libre-service.
Les valeurs possibles
| Valeur | Signification |
|---|---|
*NOMAX | Aucune limite (valeur livrée). |
0-2147352578 | Nombre de secondes estimées au-delà duquel la requête ne démarre pas. |
Prise en compte : Immédiate.
La valeur recommandée
Une limite comme 3600 peut protéger un système exposé à des outils de requête libre ; *NOMAX convient quand la charge est maîtrisée.
Le réglage existe aussi par travail avec CHGQRYA.
La changer
CHGSYSVAL SYSVAL(QQRYTIMLMT) VALUE(3600)
CHGSYSVAL SYSVAL(QQRYTIMLMT) VALUE('*NOMAX')
Pour lire la valeur actuelle et celle de la livraison, en SQL :
SELECT SYSTEM_VALUE_NAME, SYSTEM_VALUE, SHIPPED_DEFAULT_VALUE
FROM QSYS2.SYSTEM_VALUE_INFO
WHERE SYSTEM_VALUE_NAME = 'QQRYTIMLMT'
Le piège
La comparaison porte sur l'estimation faite avant exécution, pas sur la durée réelle. Une limite très basse empêche de lancer presque toute requête, y compris celles des traitements de nuit.