Soit la table suivante contenant des listes de références produits :

CREATE TABLE Tref (
 ref1 char(100) Primary Key,
 ref2 char(100) Unique Not Null, 
 ref3 char(100) Unique Not Null,
 ref4 char(100) Unique Not Null,
 ref5 char(100) Unique Not Null,
 ref6 char(100) Unique Not Null,
 ref7 char(100) Unique Not Null);

On cherche à optimiser la requête suivante ("_" et "%" sont des jokers qui signifient respectivement "1 caractère quelconque" et "0 à N caractères quelconques") :

SELECT ref1 
FROM Tref 
WHERE (ref2 like 'REF42%' or ref2 like 'REF__7%' or ref2 like 'REF_78%');

Quelles sont les opérations de partitionnement qui permettront d'optimiser cette requête de façon maximale (indépendamment des conséquences pour d'éventuelles autres requêtes) ?

Un partitionnement horizontal

Un partitionnement vertical

AccueilCours > Introduction à l'optimisation du schéma interne > Exercice< PrécédentSuivant >