Accueil > Forum > > > > Requête sur table transformée en vue -> problèmes de performances
Requête sur table transformée en vue -> problèmes de performances
mardi 13 mai 2008 à 19:01:03 |
Requête sur table transformée en vue -> problèmes de performances

rt15
|
Bonjour,
(Oracle 9.2.0.7.0)
On a une table vacances de plus de 30 millions d'enregistrements. Certains traitements ne s'appliquent que sur une partie de ceux-ci.
Il a donc été décidé de diviser cette table en 4 tables, de manières à ce que ces traitements spécifiques soient plus performants.
Cependant, d'autres traitements nécessitent d'accèder à l'ensemble des enregistrements de la table originale.
Une vue à donc été réalisée,avec le même nom que la table d'origine : create view vacances as select * from vacances_managers union all select * from vacances_patrons union all select * from vacances_ouvriers union all select * from vacances_secretaires
On accède ensuite à cette vue avec des requêtes ressemblant toutes à ça : select * from vacances, employés where employés.nom='toto' and employés.oid=vacances.oid_employés
oid étant clé primaire de employés référencée par vacances.oid_employés, clé étrangère de vacances. On a les indexs qui vont bien : les tables vacances_... sur oid_employés, et employés sur nom.
Cependant, les requêtes mettent un temps considérable, sans commune mesure avec ce que l'on avait avec la table des 30 millions d'enregistrements.
En effet, si on regarde le plan d'exécution de Oracle, on tombe sur du full scan :
MERGE JOIN 10 employés TABLE ACCESS (BY INDEX ROW ID) 2 employés.AK_NOM INDEX (UNIQUE SCAN) 1 FILTER 9 vacances 8 UNION ALL 7 vacances_managers TABLE ACCESS (FULL) 3 vacances_patrons TABLE ACCESS (FULL) 4 vacances_ouvriers TABLE ACCESS (FULL) 5 vacances_secretaires TABLE ACCESS (FULL) 6
Du peu que je connais en SQL, je pense qu'il serait préférable de faire le MERGE JOIN 4 fois sur les 4 tables vacances_ en profitant des indexs, puis de faire seulement après le UNION ALL.
Quelqu'un à une idée d'optimisation (Création de la vue différente qui amènerait Oracle à revoir son plan...) ?
Plus généralement, existe-t-il une meilleur méthode de découpage quand on arrive à des tables trop grosses ?
Je me doute que cette question est peut être un peu trop spéicifique à nos problèmes et pas forcément très intéressante...Mais à tout hasard je poste quand même (On sais jamais on est peut être passé à côté d'un truc)
Merci d'avance.
|
|
mercredi 14 mai 2008 à 11:18:59 |
Re : Requête sur table transformée en vue -> problèmes de performances
|
mercredi 14 mai 2008 à 12:40:40 |
Re : Requête sur table transformée en vue -> problèmes de performances

dominique.stock
|
Bonjour, petite idée ... As-tu besoin de tous les champs de la table ? ... une vue avec quelques champs ne serait pas plus rapide ?
Dom
|
|
mercredi 14 mai 2008 à 13:18:53 |
Re : Requête sur table transformée en vue -> problèmes de performances
|
vendredi 16 mai 2008 à 11:48:04 |
Re : Requête sur table transformée en vue -> problèmes de performances
|
mercredi 25 février 2009 à 23:05:22 |
Re : Requête sur table transformée en vue -> problèmes de performances

maloum1
|
comment on peut creer une vue si on a beaucoup de tables
|
|
jeudi 26 février 2009 à 13:22:10 |
Re : Requête sur table transformée en vue -> problèmes de performances
|
Cette discussion est classée dans : table, vue, from, vacances, employés
Répondre à ce message
Sujets en rapport avec ce message
Pb déclaration dans curseurs imbriqués [ par falcon16 ]
Bonjour à tous, je suis en train d'écrire une procédure PL/SQL pour lister tous les enregistrements présents dans toutes les tables de ma base et ains
Jointure externe sur la même table !! [ par tequila1 ]
BonjourJe dois effectuer une requête avec jointure externe, mais sur la même table.Voici l' exemple :select EXTRACT(YEAR_MONTH FROM a.periode) ,
affichage doublons [ par EFFACEUR ]
Je voudrais afficher tt les lignes ayant un doublons pour pouvoir verifier lequel supprimerSELECT nom as valeur,COUNT(*) FROM table GROUP BY valeur HA
Trigger UPDATED sur plusieurs champs [ par Maroxye ]
Bonjour! Je débute en SQL et je fois faire un TRIGGER sur l'ajout, la suppression et la modification de certains champs dans une table. Lorsque ces
Génération de graphiques [ par pillsmen ]
Bonjour à tous,Mon problème concerne la génération d'un graphique dans un état sous ACCESS.On va commencer par le commencement ^^, je pense qu'un exem
Update Mysql Table from csharp datagridview [ par olibara ]
BonjourSoit ma question erst tellement idiorte que personne ne veut y repondre soit personne ne connait la reponseJe cherche un petit tutorial simple
changement de l'indicatif telephoniques [ par akkachamid ]
salut ,j'ai besoin de code d'une procedure qui permet de changer les indicatifs du telephone dans une table Employés.voila la question !!!! Soit la
Select * from * [ par ziffox ]
Bonjour à tous, Je cherche a faire une requête qui parcourt toute la base, et qui m'affiche le nom de la table et du champ qui contient une valeur.
Vue d'ensemble d'une BDD [ par astromanweb ]
Bonjour,Je souhaiterai créer une "vue d'ensemble" de ma base de données.Par exemple : le nombre d'enregistrements, la taille de la table pour chaque
programmation pl/sql [ par perle00 ]
salut tt le mondej'ai besoin de votre aide pour résoudre cet exercice.1.créer la table TOP_DOGS afin d'y stocker les employés et leur salaire.2.créer
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : ORACLE FORMSRE : ORACLE FORMS par csmahicham
Cliquez pour lire la suite par csmahicham
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|