| matthieu_phpmv | bonjour,
 je fais mes schémas de tables avec le très bon logiciel libre DBDesigner.
 
 Je me pose une question, j'ai une table qui fait le lien entre 3 tables diverses.
 La clé primaire de cette table de liaison est la concaténation des 3 autres.
 Je définie aussi un index sur chacun des 3 champs.
 Mes questions :
 - faut il définir un index sur chacun des 3 champs (donc 3 index) ? alors que ces 3 champs sont uen clé primaire ?
 - faut il créer un index sur l'ensemble des 3 champs ? (donc 1 index)  alors que ces 3 champs sont uen clé primaire ?
 
 donc faut il mieux faire
 
 
 | Code : 
 CREATE TABLE users_link_permissions (  site_idsite INTEGER UNSIGNED NOT NULL,  permissions_idpermissions INTEGER UNSIGNED NOT NULL,  users_iduser INTEGER UNSIGNED NOT NULL,  PRIMARY KEY(site_idsite, permissions_idpermissions, users_iduser),);
 | 
 
 ou
 
 | Code : 
 CREATE TABLE users_link_permissions (  site_idsite INTEGER UNSIGNED NOT NULL,  permissions_idpermissions INTEGER UNSIGNED NOT NULL,  users_iduser INTEGER UNSIGNED NOT NULL,  PRIMARY KEY(site_idsite, permissions_idpermissions, users_iduser),  INDEX users_link_permissions_FKIndex1(users_iduser),  INDEX users_link_permissions_FKIndex2(permissions_idpermissions),  INDEX users_link_permissions_FKIndex3(site_idsite),);
 | 
 
 ou
 
 | Code : 
 CREATE TABLE users_link_permissions (  site_idsite INTEGER UNSIGNED NOT NULL,  permissions_idpermissions INTEGER UNSIGNED NOT NULL,  users_iduser INTEGER UNSIGNED NOT NULL,  PRIMARY KEY(site_idsite, permissions_idpermissions, users_iduser),  INDEX users_link_permissions_FKIndex1(users_iduser),  INDEX users_link_permissions_FKIndex2(permissions_idpermissions),  INDEX users_link_permissions_FKIndex3(site_idsite),  INDEX PRIMARY(site_idsite, permissions_idpermissions, users_iduser));
 | 
 
 Merci d'avance je suis un peu perdu
 Matthieu
   ---------------Message édité par matthieu_phpmv le 30-06-2005 à 14:48:06
 développeur de phpMyVisites mesure d'audience de sites Internet
 
   |