Bonjour

Est-ce que c'est possible de spécifier la création d'index
sur les relations many-to-many ?

Par exemple, pour la table :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
create table T_PERSONADDRESS (
PERSON_ID number(10,0) not null,
ADDRESS_ID number(10,0) not null,
primary key (PERSON_ID, ADDRESS_ID)
);
Je voudrais bien avoir la création d'indexs sur chaque colonne
de la clé primaire comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
CREATE INDEX INDEX1 ON T_PERSONADDRESS(PERSON_ID);
CREATE INDEX INDEX2 ON T_PERSONADDRESS(ADDRESS_ID);
Ces index sont importants car pour une requête du style
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select * from t_personaddress where person_id = ? ;
Oracle va utiliser un "full fast index scan" s'il n'y a pas d'index.
Avec ces indexes, il va utiliser un "table access by index row id" et
ce sera bien plus rapide.

Mais je n'arrive pas à indiquer ces index dans le mapping hibernate.
J'ai l'impression que c'est pas possible.