En business intelligence, il est fréquent de demander des rapports contenant seulement les x premiers articles. Il peut s'agir, par exemple, des cinq produits les plus vendus aux Etats-Unis : nul besoin dans ce cas d'une longue liste contenant tous les produits. Ici, la V5R1 ajoute la clause Fetch First
Souplesse de l’interrogation et du reporting

n Rows Only, de sorte que l’on peut obtenir ce type de rapport avec une seule instruction SQL. Voici un exemple d’utilisation de cette nouvelle clause pour obtenir les cinq produits les plus vendus :
Select ProductItem, Count(*) As ItemCount From Orders Where Territory = ‘US' Group By Product_Item Order By ItemCount Desc Fetch First 5 Rows Only
Fetch First n Rows Only fournit un jeu de résultats plus petit. Ce qui favorise les performances des applications client ODBC et JDBC, puisque moins de données sont envoyées sur le réseau.
Un nouveau support de Right Outer Join accroît également la souplesse de développement de rapports analytiques. La requête suivante utilise un Right Outer Join pour renvoyer les classes auxquelles un professeur est affecté, ainsi que celles auxquelles un professeur n’est pas affecté. Pour ces dernières, un Right Outer Join renverra des valeurs nulles pour le nom et le titre du professeur :
Select T.Name, T.Title, C.Subject From Teachers As T Right Out Join Classes As C On T.name = C.TeacherName
En complément de cette nouvelle fonctionnalité de jointure (join), IBM a également amélioré l’optimiseur de requête afin de mieux optimiser les requêtes jointes complexes qui contiennent un mélange de jointures externes et internes. Cette meilleure optimisation des jointures accélèrera l’exécution des requêtes.
Un subselect scalaire est une instruction Select imbriquée qui renvoie une valeur scalaire (c’est-à -dire, une ligne avec exactement une colonne). Dans les releases antérieures, on ne pouvait imbriquer des subselect scalaires que dans une clause Where ou Having. Avec la V5R1, on peut également utiliser une sous-requête scalaire sur la clause Select. Voici un exemple d’utilisation d’un subselect scalaire pour donner la liste de tous les détails d’un département situé à Rochester :
Select D.DeptNo, D.DeptName ( Select Max( Salary ) From Emp As E Where E.DeptNo = D.Dept.no ) As MaxSalary From Dept As D Where D.Location = ‘Rochester'
Dans cet exemple, tout département de Rochester n’ayant pas d’employés apparaîtra dans le jeu de résultats avec une valeur nulle pour son salaire maximum. C’est différent de l’exemple suivant, qui effectue une requête semblable avec une jointure plus traditionnelle. Dans ce cas, les départements sans employés ne sont pas inclus dans le jeu de résultats :
Select D.DeptNo, D.DeptName Max( E.Salary ) As MaxSalary From Dept As D, Emp As E Where D.DeptNo = E.DeptNo And D.Location = ‘Rochester' Group By D.DeptNo, D.DeptName
Lorsque beaucoup de rapports doivent effectuer des recherches floues avec la clause Like, la V5R1 procure une plus grande souplesse. On peut désormais utiliser des expressions sur la clause Like et la définition de caractère escape. La requête SQL suivante utilise une expression avec concaténation (½½) pour trouver tous les employés habitant dans la même rue que John Doe :
Select OtherEmp.Name From Employee As OtherEmp Where OtherEmp.Address Like = ‘John Doe' And OtherEmp.name <> ‘John Doe' And MainEmp.Address Like ‘%' ½½ S.Street ½½ '%' And OtherEmp.Address Like ‘%' ½½ S.Street ½½ '%'
IBM a également amélioré les performances de deux manières. Tout d’abord, l’implémentation système du traitement Like a été modifiée de manière à ne plus utiliser un ODP (open data path) non réutilisable pour des requêtes Like complexes. Ensuite, l’optimiseur de requête peut désormais utiliser un index pour rendre une recherche plus performante quand la clause Like fait référence à des données double octet (donnée unicode, par exemple).
Téléchargez cette ressource

Guide EDI : Pratiques de Performance Opérationnelle
Comment mieux satisfaire les directions métiers, rationaliser les échanges, améliorer la qualité des données et gérer l’obsolescence ? Découvrez dans ce livre blanc, les principaux enjeux autour de l’échange de données informatisé, les technologies complémentaires à l’EDI pour gagner en efficacité et les innovations d’offres de services fournis par Generix Group pour digitaliser vos processus.
Les articles les plus consultés
- Partager vos images, vidéos, musique et imprimante avec le groupe résidentiel
- Trucs & Astuces : Tester un port UDP via TelNet
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Activer la mise en veille prolongée dans Windows 10
- Afficher les icônes cachées dans la barre de notification