Eléphant du PHP |
127 Messages
18 nov. 2008, 00:19
Code : Tout sélectionner
-- --------------------------------------------------------
--
-- Structure de la table `ld_base`
--
CREATE TABLE IF NOT EXISTS `ld_base` (
`id` smallint(5) NOT NULL auto_increment,
`guid` varchar(250) NOT NULL,
`flux` tinyint(3) NOT NULL,
`title` tinytext NOT NULL,
`description` text NOT NULL,
`link` varchar(220) NOT NULL,
`img` text NOT NULL,
`pubdate` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `guid` (`guid`),
FULLTEXT KEY `FullText Title/description` (`title`,`description`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4011 ;
Voilà, c'est la table d'un annuaire de sites et de flux RSS
Dans le title et description on a le titre du site et sa description courte < 1000 caractères
Le FULLTEXT grossi trop vite, la fonction OPTIMIZE TABLE n'y fait rien, je suis obligé après plusiurs INSERT de faire un REPAIR TABLE QUICK qui reste potentiellement dangereux et demande pas mal de ressources.
Exemple sur le grossissement:
quand ma table fait 1,5Mo et mon FULLTEXT fait environ 1.4Mo
si je fais plusieurs INSERT, imaginons que la table fasse 2Mo, le FULLTEXT fera 2.1Mo (plus gros que la table)
Je fais un REPAIR TABLE, le FULLTEXT redescend à une taille inférieure à la table, ce qui est plus normal