Fork me on GitHub

Rapport de message :*
 

Re: Besoin coup de main Mysql et table _priv_msgs : pb de clé

Titre du sujet : Re: Besoin coup de main Mysql et table _priv_msgs : pb de clé
par Christian sur 31/05/2006 10:52:03

Ce n'est qu'un avertissement et n'empêche pas la table de fonctionner correctement.

rappel :
Citation :

Les index sont utilisés pour trouver des lignes de résultat avec une valeur spécifique, très rapidement. Sans index, MySQL doit lire successivement toutes les lignes, et à chaque fois, faire les comparaisons nécessaires pour extraire un résultat pertinent.

Plus la table est grosse, plus c'est coûteux. Si la table dispose d'un index pour les colonnes utilisées, MySQL peut alors trouver rapidement les positions des lignes dans le fichier d'index, sans avoir à fouiller toute la table
Si une table à 1000 lignes, l'opération sera alors 100 fois plus rapide qu'une lecture séquentielle.


La table des messages privés est créé ainsi :
CREATE TABLE priv_msgs (
  
msg_id mediumint(8unsigned NOT NULL auto_increment,
  
msg_image varchar(100) default NULL,
  
subject varchar(255NOT NULL default '',
  
from_userid mediumint(8unsigned NOT NULL default '0',
  
to_userid mediumint(8unsigned NOT NULL default '0',
  
msg_time int(10unsigned NOT NULL default '0',
  
msg_text text NOT NULL,
  
read_msg tinyint(1unsigned NOT NULL default '0',
  
PRIMARY KEY  (msg_id),
  
KEY to_userid (to_userid),
  
KEY touseridreadmsg (to_userid,read_msg),
  
KEY msgidfromuserid (msg_id,from_userid)
TYPE=MyISAM;

On peut y lire que la clé principale de la table est le champ msg_id et un peu plus bas qu'un index de performance a été créé sur les colonnes msg_id et from_userid. A mon avis et jusqu'à preuve du contraire cet index est superflu, je n'ai pas vu de clause where qui porterait simultanément sur ces deux champs et dans cet ordre.
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

60 Personne(s) en ligne (53 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 60 | Plus ...