Publications par Pierre-Louis BERTHOIN

, , Utilisations des indexs

l’utilisation des index est devenu un enjeux majeur de la bas de données , On me pose réguliérement la question sur l’utilisation de ceux ci, je vais essayer de vous éclairer En DDS/LF RPGLE (par exemple) Vous connaissez tous cette solution on déclare le fichier LF ou index et on le lis quand on regarde […]

, , Statistiques sur les MTIs

A partir de la TR6 de la V7R4, vous avez une nouvelle vue qui vous permet de visualiser vos MTIs (Maintained Temporary Indexes) c’est des indexs que le système décide de construire temporairement pour optimiser vos requêtes. C’est ceux la même qui sont perdus à chaque IPL … Cette nouvelle vue s’appelle MTI_INFO elle est […]

, ZLIB sur IBMi

Avec la TR6 de la V7R4 (TR disponible à partir du 24 mai 2022) Vous pouvez désormais compresser en standard avec l’algorithme *ZLIB dans les commandes SAV* Bien que un peu vieux, (la première version date de 1995) c’est un algo très fiable et efficace Pour en savoir plus sur ZLIB https://fr.wikipedia.org/wiki/Zlib Remarque : Jusque […]

Envoyer un message avec réponse

Il peut être intéressant d’envoyer un message avec une réponse, pour des traitements occasionnels par exemple . Voici 2 exemples de code qui font la même chose exemple en RPG **free// Message simple avec réponse// texte 55 maxdcl-s w_reponse char(1) ;dsply ‘Voulez-vous continuer ?’ ‘QSYSOPR’ w_reponse;// traitement de la réponseif w_reponse = ‘O’;dsply ‘Oui avec […]

, , Droits Navigator for i

il faudra désormais une autorisation explicite pour utiliser Navigator for i Jusqu’à présent les fonctions usage, QIBM_NAV_SERVICEABILITY et QIBM_NAV_ALL_FUNCTION étaient autorisées par défaut à partir de mai 2022, elles seront interdites par défaut seules les profils ayant les autorisations spéciales *secofr *allobj pourront accéder les autres devront être autorisées nommément. Plus d’informations ici https://www.ibm.com/support/pages/node/6485853 https://www.ibm.com/support/pages/node/6486565 […]

, , Query Governor

C’est une possibilité de contrôler les requêtes SQL sur le temps d’exécution estimée ou sur la mémoire temporaire , se base sur le plan d’accès créé par l’optimiseur pour votre requête. C’est la commande CHGQRYA qui permet cette opérationparamètres QRYTIMLMT( ) et QRYSTGLMT( ) pour le temps et la mémoireExempleCHGQRYA JOB(123456/PLB/QPADEV0001) QRYTIMLMT(45) Vous exécutez votre […]

, , Transformation LF en index

Pourquoi transformer des DDS en SQL? Une des raisons est que les index peuvent être beaucoup plus performants que les LF quand le moteur SQL les utilise. RappelPour transformer un PF en table Vous devez extraire le source en utilisant l’API QSQGNDDLLe plus simple est de passer par ACSEn faisant génération instruction SQL Vous obtenez […]

, Les jobs database QDBSVR*

Sur votre machine il y a un certain nombre de jobs systèmes qui tournent pour gérer votre base de données, voici les principaux et ce à quoi ils servent : QDBSRVXR Gère les références du catalogue principalement QADBXREF sauf des zones qui sont dans QADBIFLD QDBSRVXR2 C’est lui qui gère les références de zones dans […]

, , Suggestion d’Index agrégés

Vous connaissez index advisor, c’est une table que le système met à jour à chaque suggestion d’index, elle se nomme SYSIXADV et elle est dans QSYS2. Vous pouvez l’interroger par SQL en faisant un simple select et en appliquant un filtre par rapport à une date de dernière utilisation et soit un nombre de fois […]

, Réorganiser un très gros fichier

Voici la problématique qui nous est arrivée : Suite à un gros coup de ménage sur une petite machine saturée avec un énorme fichier de 12 millions d’enregistrement plus 30 millions d’enregistrements supprimés et 4 index dessus Le réflexe naturel, a été le bon vieux RGZPFM qui devait nous réorganiser tout ça … eh bien […]