Mein Tisch:
CREATE TABLE `html` (
`html_id` int(10) unsigned NOT NULL,
`links_id` int(10) unsigned NOT NULL,
`url` varchar(2000) DEFAULT NULL,
`tld` varchar(10) DEFAULT NULL,
....
`html` mediumtext
PRIMARY KEY (`html_id`,`links_id`),
UNIQUE KEY `links_id_url_index` (`links_id`,`url`(255))
) DEFAULT CHARSET=utf8;
- es hat insgesamt > 20 GB Daten (~1 Mio. Zeilen)
- Abfragen sind hauptsächlich für Statistiken und erfordern nicht die
html
Spalte - z.B.:
SELECT tld, MAX(URL), count(*) FROM html GROUP BY tld
auch muss der Tisch viele Inserts (>500/s) von einem mehrfädigen c++ Web-Crawler mit den Schlüsselüberprüfungen (html_id,links_id)
& (links_id,url(255))
aushalten, und in dieser Konfiguration funktioniert es gut, aber indem andere Schlüssel hinzugefügt werden, befürchte ich, dass es langsamer werden könnte.
Bei all meinen Tests scheint die große html
Spalte die Ursache für langsame Abfragen zu sein, wie gehe ich am besten damit um?