Bonjour,

Un ami possède un forum qui tourne avec la version 1.3.1 d'invision power board, ce forum accueille plusieurs millier d'utilisateurs et souffre de ralentissements.
J'ai donc jeté un oeil vite fait sur sa base (vu que les arrêt de services sont dû uniquement au serveur Mysql) et j'ai vu quelque chose d'étonnant :

Dans la principale table de la base de donnée (les posts), l'index prend autant de place que les champs en eux même (99% environ) ! Sachant que ce qui est le plus lourd est évidement un champ texte (le corps des messages), ça voudrait dire que ce champ texte serait indexé, ce qui me parait absurde... Cependant, ne connaissant pas les détails de fonctionnement du moteur myisam utilisé, il y a peut être un détail qui m'échappe (je pense notamment a la recherche sur ce champ).

Ma question est donc : est ce normal d'avoir un index aussi lourd ?
(je n'ai pas eu un acces direct a la base donc je ne peux pas vérifier exactement si le champ texte est indexé, mais ça me semble logique pour que la taille soit si importante)

Edit : Je viens d'avoir les sources et voici celle de la table en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
CREATE TABLE `ibf_posts` (
  `pid` int(10) NOT NULL auto_increment,
  `append_edit` tinyint(1) default '0',
  `edit_time` int(10) default NULL,
  `author_id` mediumint(8) NOT NULL default '0',
  `author_name` varchar(32) default NULL,
  `use_sig` tinyint(1) NOT NULL default '0',
  `use_emo` tinyint(1) NOT NULL default '0',
  `ip_address` varchar(16) NOT NULL default '',
  `post_date` int(10) default NULL,
  `icon_id` smallint(3) default NULL,
  `post` text,
  `queued` tinyint(1) default NULL,
  `topic_id` int(10) NOT NULL default '0',
  `forum_id` smallint(5) NOT NULL default '0',
  `attach_id` varchar(64) default NULL,
  `attach_hits` int(10) default NULL,
  `attach_type` varchar(128) default NULL,
  `attach_file` varchar(255) default NULL,
  `post_title` varchar(255) default NULL,
  `new_topic` tinyint(1) default '0',
  `edit_name` varchar(255) default NULL,
  PRIMARY KEY  (`pid`),
  KEY `topic_id` (`topic_id`,`author_id`),
  KEY `author_id` (`author_id`),
  KEY `forum_id` (`forum_id`,`post_date`),
  FULLTEXT KEY `post` (`post`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Il y a donc bien une clef crée sur le champ post, maintenant ma question est de savoir dans quelle mesure la suppression de cet index va impacter les fonctions de recherche du forum, j'ai vu sur le forum d'IPB que c'etait facultatif...