Mysql.._[JOINTURE - PRIMARY KEY - UNIQUE - INDEX ]
28 messages
• Page 1 sur 2 • 1, 2
- thierry8
- WRInaute accro

- Messages: 3251
- Inscription: 11 Juil 2005
Mysql.._[JOINTURE - PRIMARY KEY - UNIQUE - INDEX ]
Bonjour,
j'ai une table de jointure, qui est donc composé de deux clés étrangères.
Elle ne contient donc aucun index, et je souhaiterai savoir si dans mysql il est possible de lui indiquer qu'il s'agit d'une table de jointure ?
Merci
j'ai une table de jointure, qui est donc composé de deux clés étrangères.
Elle ne contient donc aucun index, et je souhaiterai savoir si dans mysql il est possible de lui indiquer qu'il s'agit d'une table de jointure ?
Merci
Dernière édition par thierry8 le Ven Déc 16, 2005 21:46, édité 2 fois.
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
Re: Mysql, une table de jointure...
thierry8 a écrit:Bonjour,
j'ai une table de jointure, qui est donc composé de deux clés étrangères.
Elle ne contient donc aucun index, et je souhaiterai savoir si dans mysql il est possible de lui indiquer qu'il s'agit d'une table de jointure ?
Merci
Pourquoi elle ne contient aucun index ?
au contraire tu as tout intérêt à indexer ces 2 champs pour optimiser tes requêtes SQL.
Les contraintes de clés étrangères existent dans MySQl 5 ( et peut-être dans MySQl 4, à faire confirmer ).
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
- Code: Tout sélectionner
ALTER TABLE `table_jointure` ADD INDEX `FK_table1` ( `IDTable1` );
ALTER TABLE `table_jointure` ADD INDEX `FK_table2` ( `IDTable2` );
ne pas confondre index et clé primaire.
et si ta version de mysql supporte les contraintes de clé étrangères :
- Code: Tout sélectionner
[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
thierry8 a écrit:humm...comment faire avec phpmyadmin ?
tu clique sur la structure de ta table :
- liste des clés et index présents
Créer une clef sur n colonne(s) -> Exécuter
- renseigner le formulaire.
sinon tu peux aussi essayer ça directement en sql :
- Code: Tout sélectionner
ALTER TABLE `table_jointure` ADD INDEX `FK_table1` ( `IDTable1` );
ALTER TABLE `table_jointure` ADD INDEX `FK_table2` ( `IDTable2` );
ALTER TABLE `table_jointure` ADD UNIQUE `PK_ID1_ID2` ( `IDTable1` , `IDTable2` );
oerso, je suis partisant de la mise en place des trois index :
- les update et les delete seront un peu moins performant
- tu gagneras bc sur les select.
Dernière édition par spidetra le Jeu Déc 15, 2005 15:56, édité 1 fois.
-

chantra - WRInaute occasionnel

- Messages: 257
- Inscription: 27 Juin 2005
pour la taille, cela de permet d'ajuster la memoire alloue pour une variable.
En unique sur les 2 clefs, cela te certifie que tu n'auras pas 2 fois le meme couple idA,idB.
le fait d'etre unique indexe par la meme occasion il me semble.
En unique sur les 2 clefs, cela te certifie que tu n'auras pas 2 fois le meme couple idA,idB.
le fait d'etre unique indexe par la meme occasion il me semble.
28 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- différence entre primary key , clé index unique et clé index .
- Index ou primary
- MYSQL : jointure
- jointure mysql
- Jointure sur 2 serveurs Mysql ?
- Vitesse requetes jointure mysql, et Indexes
- problème de jointure mysql : je m'en sors pas !!
- (Résolu par une jointure)[MYSQL] Dissocier ma requête ?
- index.php?key
- Mysql ON DUPLICATE KEY UPDATE
Consultez la description détaillée des produits ou services de Google suivants : Google Search Appliance, Google Calendar
Qui est en ligne
Utilisateurs parcourant ce forum: zeb et 0 invités
