Les trucs & astuces de la semaine du 14 au 20 Février 2005 : Conduire des recherches SQL efficaces, Trouver le nom d'un programme RPG, Soustraire des champs date en Cobol ILE...
Trucs & Astuces iSeries : SQL, RPG, Cobol ILE

Q: L’un de nos clients a 70 000 produits que les utilisateurs
recherchent constamment par leurs descriptions.
Nous avons effectué des recherches avec SQL et
il faut quatre secondes pour obtenir la liste des sousfichiers.
Notre client utilisait auparavant un système
Unix qui fournissait les réponses presque immédiatement
aux utilisateurs. Ces derniers se plaignent de
la lenteur du nouveau système. D’où la question :
SQL est-il le moyen de recherche le plus efficace ?
R : SQL est une excellente méthode pour le genre de recherche
que vous décrivez. Je suis donc sûr que le problème
du temps de réponse n’est pas imputable à SQL mais à la manière
dont on lui fait effectuer la recherche. Dans ce cas, le
temps de réponse de quatre secondes
est probablement dû au fait que la requête
effectue la recherche sur un
sous-ensemble des données contenues
dans un champ texte. Ce genre de requête
oblige le moteur de base de données
de l’iSeries à explorer toute la
table pour s’assurer que toutes les
lignes ont été correctement évaluées.
Les balayages de tables ou de fichiers
utilisent énormément d’I/O et
font partie des requêtes les plus lentes
que l’on puisse confier à un moteur de
base de données. Et cela resterait vrai
même si vous recodiez vos applications
en vue d’une recherche en RPG. Il ne
servira à rien de réduire le nombre de
colonnes dans la table, parce que le
moteur de base de données iSeries ne
regardera pas ces lignes de toute manière.
En fait, la meilleure méthode
pour améliorer la performance
consiste à utiliser les composants clé de
vos données de recherche pour
construire une autre colonne dans la
table. Ensuite, construisez un index sur
la nouvelle colonne et utilisez celle-ci
dans votre instruction SQL Select. Ainsi, le moteur de base
de données d’iSeries emploiera la colonne indexée au lieu
d’un balayage de table pour satisfaire à la condition de la
requête. La performance devrait s’améliorer considérablement.
Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre dossier Green IT sur les actions engagés par inmac wstore pour réduire son impact environnemental
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- L’Europe, un leader mondial de l’IA
- L’Intelligence Artificielle, le nouveau copilote du CRM : une révolution incontournable
- Optimiser la gestion de la relation client dans le secteur des sciences de la vie
- 2025, un « âge de raison » pour l’écosystème de la technologie ?
- 59 % des entreprises françaises victimes de ransomwares ont stoppé leurs opérations !
