Hi Daniela,
Also, wenn ich das mit Joins in mySQL nicht hinkriege: im Zweifel erst die Schlüsselwörter suchen, dann die Posting-IDs für jedes Schlüsselwort einzeln suchen und dann sagen wir mal, die größte Teilmenge mit der kleinsten schneiden, dann die nächstgrößere mit dem Ergebnis von der vorigen Durchschnittsoperation usw...
Würde ich nicht empfehlen, selbst wenn die Query ungünstig ausgeführt wird, dürfte es noch ähnlich schnell sein wie wenn du es selber machst.
Ich meinte schon mit temporären Tabellen, nicht erst alles in PHP einlesen und dort filtern. Etwa so:
CREATE TEMPORARY TABLE ganzeWoerter
SELECT keywd
FROM part_keywd
WHERE ...;
SELECT item
FROM ganzeWoerter, keywd_item
WHERE ganzeWoerter.keywd = keywd_item.keywd
oder eben mit explizitem Join:
SELECT item
FROM ganzeWoerter INNER JOIN keywd_item
weiß gar nicht, ob das ohne ON geht hehe ;-)
da hätte ich statt der IN-Prüfung, die Du weiter unten beschrieben hast, den inner-Join zu der Temporären Liste. Na egal jetzt, es geht in mySQL wohl auch mit verschachtelten Joins. Mich hat die Klammerei der Joins nur irritiert - die gibts in mySQL nämlich nicht, aber das gleiche Prinzip mit anderer Syntax geht schon. Heute erstmal 'n neues Buch besorgt ;-)
Achja, noch ein Tipp: Regelmässige die Tabellen neu analysieren lassen nicht vergessen damit der Planer nicht von veralteten Statistiken ausgeht und völligen Mist macht.
guter Tip. Eine DB-Anwendung schnell zu machen ist für mich auch erstmal Neuland.
Möchte mich mal für Deine Geduld und kompetente Beratung bedanken. Ich fühle mich jetzt vollkommen gerüstet, die Suche so zu schreiben, wie ich mir das vorgestellt habe.
Gruß, Andreas
<img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
hier könnte auch ruhig mal'n neues Bild stehen.