ich InnoDB verwenden mit MySQLLeistungssteigerung mit zwei Abfragen anstelle einer Unterabfrage?
Hey,
ich zwei Tabellen haben: Zuerst nannte man adtells und enthält nur sehr wenige Elemente und selten aktualisiert. Der zweite enthält viele Elemente und erhält regelmäßig neue Einfügungen.
Die zweite Tabelle speichert, welcher Benutzer ein Element aus der ersten Tabelle ausgeblendet hat. Ich denke, ich kann diese Tische nicht betreten.
Meine erste Anfrage war so etwas wie dieses: SELECT xy FROM firstTable 1 WHERE NOT IN (SELECT abc FROM secondTable)
Mein zweiter Ansatz sind zwei Abfragen: Der erste wählt alle benötigten Elemente aus der zweiten Tabelle . Mit diesen Ergebnissen greife ich auf die erste Tabelle zu.
Was sind Ihre Gedanken zu diesen Ansätzen? Ist der erste oder der zweite performanter oder haben Sie noch andere Ideen?
Eine weitere Erläuterung des gegebenen Beispiel: Tabelle 1: id | Inhalt Tabelle 2: userId, tableOneId
Die zweite Tabelle enthält eine Zuordnung von einem bestimmten Benutzer zu einem Element der ersten Tabelle. Wenn es eine Zuweisung gibt, wird die betroffene tableOneId nicht von den obigen Abfragen abgerufen.
Würde mich freuen, von Ihnen zu hören!
Verwendung VORHANDEN NICHT statt in http://stackoverflow.com/questions/915643/select-where-not-exists – maSTAShuFu
Nun, ich in Not, ich will die Elemente entfernen, die sind in der IN-Klausel –
Warum messen Sie nicht einfach? – zerkms