Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/05/2011, 15h27   #1
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 109
Points : 33
Points : 33
Par défaut Index sur jointure pour accélérer rafraichisement vue matérialisée

Bonjour;

J'ai cette création de vue matérialisée :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
CREATE MATERIALIZED VIEW CORE.VALIDITY
BUILD IMMEDIATE
REFRESH ON COMMIT
WITH PRIMARY KEY 
ENABLE QUERY REWRITE
AS
SELECT
	...
FROM 
	ACE I,
	EFFECTIVITY E,
	RANGE R
WHERE
	I.ID = E.ACE_ID
	AND E.ID = R.EFFECTIVITY_ID;
Quel est la commande SQL Oracle 10g pour créer deux index, un pour chaque jointure ?
Moostiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 15h43   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
Tu as 2 jointures, mais 3 tables, ce serait donc 3 indexes à créer.
un sur ACE (ID), un sur EFFECTIVITY (ACE_ID) et un sur RANGE (EFFECTIVITY_ID).
Pour le code sql je te laisse voir les tuto.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/05/2011, 16h22   #3
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 109
Points : 33
Points : 33
OK.
C'est ce que je pensais.
Mais j'ai vu sur le net que l'on parlait de index join ?

On peut créer un index à partir de deux index ?
Moostiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 16h52   #4
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
Un index join est une opération de l'optimiseur Oracle qui n'accède qu'aux données des indexes (et pas des tables) car toutes les données de la requête sont contenues dans les indexes.
http://download.oracle.com/docs/cd/B...tsref.htm#5232

Un index est lié à une table, donc il faut créer un index par groupe de colonnes restrictives
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h42.


 
 
 
 
Partenaires

Hébergement Web