Hi!
hehe :)
http://selfarchiv.d2g.com/index.php?suchausdruck=frames&submit=Suche+starten
...
...
...
(viele ... später:)
Ja, ich hatte das gerade, einfachsten Anfragen haben auf eineml über eine Minute gedauert. Aber ich hatte wohl zuviel geöffnet, ich konnte auch so kaum noch was machen, keine Ahnung weiso. Mal eben alles gekillt was ich nicht wirklich brauchte und schon gings wieder. Also eines habe ich gelernt:
Volltext ust genau das Falsche für so ein Forum ;-) Das beste Rating habe immer die kürzesten und sinnlosesten Postings! Ich habe a jetzt mak ein paar "Features" einhgebaut, aber mit denen hat das keinen Sinn. Ohne ist das eigentlich ganz OK. Vor allem wenn man mehr sucht, dann wirds richtig flott ;-)
Aber irgendwie versteh ich das ganze überhaupt nicht. Jetzt denke ich ich hättte das mit einer zusätzlichen Where Bedingung tierisch lahm gemacht, dann macht es auf einmal gar nichts und ist so schnell wie sonst, 10 Sekunden später braucht es wieder 10 mal so lange... naja.
(Dauer der Suche: 23.974524021149 sec)
sollte jetzt schneller gehen - wobei ich bei der offiziellen Suche schon erheblich länger vor verschlossenen Türen gestanden habe ;-))) Kann auch sein das es gerade da war wo ich einen weiteren Index erstellt habe, da geht dann eigentlich überhaupt nichts mehr und das dauert tierisch lange bei 50MB Daten!
Ich habe über die Namen einen "normalen" Index erstellt, aber so viel merke ich davon auch nicht.
Da hast Du ja noch ordentlich was zu optimieren ;)
Aber ne Idee ist es trotzdem :)
Hatte einfach mal Lust, habe noch nie ne Suchmaschine progammiert, und wenn ich schon immer mecker dann muß ich halt mal selbst schlechte Erfahrungen machen ;-)
Wer weiß denn, wie man die vernünftigen Postings nach vorne bekommt? Einfach den Index rumdrehen oder was? Das wäre glaube ich das beste! Vielleicht kann man den Index ja tatsächlich "mit seinen eigenen Waffen schlagen"!
Mich würde aber tatsächlich mal interessieren, ob es so wie es jetzt ist annehmnbar ist oder gräßlich langsam! Von meinem PC ist das schwer zu sagen. Wie gesagt, die volle Geschwindigkeit gibt es nur in Standardeinstellung, sobald man die Suche weiter einschränkt kostet das Geschwindigkeit - manchmal zumindest, ich versteh es halt nicht.
Mal an einen DB-Spezialisten, welche Indizierung würde hier denn jetzt wirklch Sinn machen?
Meine sieht zur Zeit so aus:
CREATE TABLE selfarchiv (
id smallint(6) NOT NULL default '0',
topic varchar(20) NOT NULL default '',
title varchar(100) NOT NULL default '',
body text NOT NULL,
name varchar(40) NOT NULL default '',
time int(10) NOT NULL default '0',
PRIMARY KEY (id),
UNIQUE KEY id (id),
FULLTEXT KEY body (body,topic,title),
KEY name (name),
KEY name_2 (name) *ups* ;-))) das war glaub ich der performancefressende Übeltäter!
) TYPE=MyISAM;
Das ist ein Mist das dauert jetzt bestimmt 10 Minuten so nen blöden Index zu löschen!
Ach ja, die dazu gehörige Abfrage sieht so aus:
$query_string = "SELECT id,topic,title,name,time FROM selfarchiv WHERE MATCH (body,topic,title) AGAINST ('".mysql_escape_string($_GET['suchausdruck'])."')";
if($_GET['Verfasser']) {
#$query_string .= " AND name = '".mysql_escape_string($_GET['Verfasser'])."'";
$query_string .= " AND INSTR(name,'".mysql_escape_string($_GET['Verfasser'])."')>0";
}
if($_GET['Kategorie']) {
$query_string .= " AND topic = '".mysql_escape_string($_GET['Kategorie'])."'";
}
if($_GET['Listing']=="chronologisch"){
$query_string .= " ORDER BY time DESC";
}
$query_string .= " LIMIT 0, $limit";
Kurze Erklärung noch:
Verfasser ist immer der Vrfasser des Startpostings
der Rest sollte klar sein, bis darauf das das Ranking irgendwie gegensätzlich funktioniert ;-)
http://selfarchiv.d2g.com/
Grüße
Andreas
PS: Die Performance ist wirklch gut, habe oft Zeiten erheblich unter 0,1 Sekunde(zugriffszeit auf die DB), aber ich habe die ganze Zeit dran rumprobiert, und nur einen der indices zu erstellen dauert weit über eine halbe Stunde, und in der Zeit kann man die DB vergessen! Und der blöde index ist immer noch da...und immer noch...