On m'a demandé de mettre en œuvre une technique pour obtenir de meilleures performances de requête, ce qui est très nouveau pour moi.Optimisation des performances de requête
La technique est:
SELECT tab1.col1
FROM tab1, tab2
WHERE tab1.col1 = tab2.col2
AND tab2.col3 = 'X'
AND tab1.col4 = 'Y';
Dans la requête ci-dessus,
- Je dois créer deux tables sous forme de tableaux de références pour ceux utilisés disent ci-dessus tab3 pour tab1 et TAB4 pour tab2.
- Insérez les valeurs PK de tab1 et tab2 respectivement dans tab3 et tab4.
- Ajoutez une colonne à la fois dans tab3 et tab4 dites 'condition1' et mettez-la à jour avec les valeurs PK des enregistrements récupérés par la requête ci-dessus.
- Utilisez tab3 et tab4 dans les requêtes avec une coche sur la colonne 'condition1' IS NOT NULL.
- Écrit le déclencheur pour mettre à jour cette colonne sur n'importe quel DML dans les tables d'origine.
Cela peut sembler simple à un coup d'oeil, mais si les mêmes tables sont utilisées dans N requêtes avec différents prédicats, je dois ajouter N nombre de colonnes dans les nouvelles tables et les déclencheurs correspondants. Je crois qu'il s'agit d'une duplication de données et d'une charge énorme pour la base de données. Et cela ne contribuera pas à l'amélioration des performances.
Ce sera formidable si vous pouvez m'aider à sortir du dilemme de la mise en œuvre.
Merci à l'avance, Savitha
Je pense que vous êtes vos collègues novices en développement de bases de données et avez besoin d'aide sérieuse pour un consultant Oracle. Quel est l'objectif final de cette base de données et combien de lignes par jour ajouterez-vous? Je n'ai pas l'intention d'être méchant, juste brutalement honnête. Parfois, la meilleure aide que nous pouvons fournir sur le SO est de vous dire que vous avez besoin de plus d'un peu d'aide. –