Ik snap er niks van. Ik heb een zoekmachine gemaakt voor zo'n 12.000 HTML pagina's.
Dit liep allemaal supersnel, totdat er wat foutjes her en der kwamen. Toen kwam ik op het idee om alle tabellen leeg te gooien en alle pagina's opnieuw te spideren.
Nou is alles opnieuw geindexeerd, maar gaat het zoeken opeens supertraag....
Ik snap er niks van. De code is niet verandert en de database structuur ook niet. Er misschien een paar honderd nieuwe pagina's bijgekomen, maar dat moet toch niet een enorm verschil opleveren t.o.v 12.000?
Ik heb alle tabel indexen e.d. opnieuw aangemaakt/verandert en nog krijg ik het niet meer zoals het was?
De tabellen zien er als volgt uit:
CREATE TABLE `keywords` (
`Id` int(10) unsigned NOT NULL auto_increment,
`Word` varchar(255) NOT NULL default '',
PRIMARY KEY (`Id`),
UNIQUE KEY `Word` (`Word`),
KEY `Word_2` (`Word`)
) TYPE=MyISAM AUTO_INCREMENT=118230 ;
CREATE TABLE `pagekeywords` (
`PageId` int(10) unsigned NOT NULL default '0',
`WordId` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`PageId`,`WordId`),
KEY `PageWordIdIndex` (`PageId`,`WordId`)
) TYPE=MyISAM;
CREATE TABLE `pages` (
`Id` int(10) unsigned NOT NULL auto_increment,
`URL` varchar(255) NOT NULL default '',
`Title` varchar(255) NOT NULL default '',
`Datum` int(20) NOT NULL default '0',
PRIMARY KEY (`Id`),
UNIQUE KEY `URL` (`URL`),
KEY `URL_2` (`URL`)
) TYPE=MyISAM AUTO_INCREMENT=12453 ;
tabel keywords heeft 118.229 records
tabel pagekeywords heeft 1.598.817 records
tabel pages heeft 12.447 records
Het enige dat ik me kan bedenken is dat er iets mis is met de indexes. Maar ik ben niet zo'n held met indexes, dus misschien kunnen jullie er even naar kijken...
Dit liep allemaal supersnel, totdat er wat foutjes her en der kwamen. Toen kwam ik op het idee om alle tabellen leeg te gooien en alle pagina's opnieuw te spideren.
Nou is alles opnieuw geindexeerd, maar gaat het zoeken opeens supertraag....
Ik snap er niks van. De code is niet verandert en de database structuur ook niet. Er misschien een paar honderd nieuwe pagina's bijgekomen, maar dat moet toch niet een enorm verschil opleveren t.o.v 12.000?
Ik heb alle tabel indexen e.d. opnieuw aangemaakt/verandert en nog krijg ik het niet meer zoals het was?
De tabellen zien er als volgt uit:
CREATE TABLE `keywords` (
`Id` int(10) unsigned NOT NULL auto_increment,
`Word` varchar(255) NOT NULL default '',
PRIMARY KEY (`Id`),
UNIQUE KEY `Word` (`Word`),
KEY `Word_2` (`Word`)
) TYPE=MyISAM AUTO_INCREMENT=118230 ;
CREATE TABLE `pagekeywords` (
`PageId` int(10) unsigned NOT NULL default '0',
`WordId` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`PageId`,`WordId`),
KEY `PageWordIdIndex` (`PageId`,`WordId`)
) TYPE=MyISAM;
CREATE TABLE `pages` (
`Id` int(10) unsigned NOT NULL auto_increment,
`URL` varchar(255) NOT NULL default '',
`Title` varchar(255) NOT NULL default '',
`Datum` int(20) NOT NULL default '0',
PRIMARY KEY (`Id`),
UNIQUE KEY `URL` (`URL`),
KEY `URL_2` (`URL`)
) TYPE=MyISAM AUTO_INCREMENT=12453 ;
tabel keywords heeft 118.229 records
tabel pagekeywords heeft 1.598.817 records
tabel pages heeft 12.447 records
Het enige dat ik me kan bedenken is dat er iets mis is met de indexes. Maar ik ben niet zo'n held met indexes, dus misschien kunnen jullie er even naar kijken...
[ Voor 4% gewijzigd door Verwijderd op 03-02-2005 17:17 ]