par Paul Conte - Mis en ligne le 16/11/2005 - Publié en Février 2005
SQL s'impose chaque jour comme un langage de programmation
que tout programmeur iSeries digne de ce nom
doit maîtriser. Pas seulement pour des requêtes et des rapports
ponctuels, mais aussi pour les applications au coeur de
l'activité de l'entreprise. C'est pourquoi il est aujourd'hui
tout aussi important de connaître toutes les astuces permettant
d'écrire du code rapide avec SQL, qu'avec ILE RPG ou
Cobol. Le manuel iSeries DB2 Universal Database for iSeries
Database Performance and Query Optimization couvre bon
nombre des « meilleures pratiques » de programmation SQL
et sa lecture s'impose. Mais, comme le manuel n'est pas exhaustif,
je me propose dans cet article de présenter plusieurs
techniques peu connues permettant d'accélérer le code
SQL.
Conseils de coding pour accélérer les applications SQL
Le premier groupe de conseils, ou d’astuces, s’applique
aux curseurs déclarés par une instruction Declare Cursor. On
trouve cette instruction dans des programmes SQL et des
programmes de service imbriqués (comme un programme
RPG ou Cobol qui contient des instructions SQL). On trouve
aussi l’instruction dans des procédures stockées, des fonctions
définies par l’utilisateur et des triggers écrits en SPL
(SQL Procedural Language). Dans la liste de conseils qui suit,
le terme « programme » désigne n’importe lequel de ces
types d’objets exécutables.
Certes, c’est un conseil bien connu, mais il est si important
qu’il mérite d’être répété. Après le mot-clé Select dans une
déclaration du curseur, ne codez que les colonnes que vous
voulez vraiment extraire, comme dans l’exemple suivant :
Declare Cursor CustNameCsr
Cursor For
Select CustId, CustName
From Customer
Order By CustName
Cette pratique peut accélérer l’extraction
(c’est-à -dire les opérations Fetch)
quand on ne veut que quelques colonnes
d’une table dans laquelle beaucoup de colonnes
sont définies. Sachez que vous
n’avez pas besoin de lister une colonne
pour extraction, pour pouvoir l’utiliser
dans les clauses Where ou For Update Of. A partir de la V5R2,
il n’est pas non plus nécessaire de lister une colonne pour
l’utiliser dans une clause Order By.
A moins d’utiliser la fonction structure hôte de SQL/400
(expliquée plus loin), vous ne devez pas spécifier « * »
comme raccourci pour « toutes les colonnes ». Ce raccourci
est plus lent, complique la compréhension du code, et présente
quelque danger quand on change des définitions de
tables ou de vues.
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Afficher les icônes cachées dans la barre de notification
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Les 6 étapes vers un diagnostic réussi
Les plus consultés sur iTPro.fr
- Analyse Patch Tuesday Mai 2026
- Pour un cloud plus fiable : renforcer l’auditabilité et la transparence au service de la sécurité
- Explosion des identités et insécurité persistante : l’EMEA face à un tournant critique
- ALERTE ! De nouvelles générations de cybermenaces dopées à l’IA
Articles les + lus
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
À la une de la chaîne Tech
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
