Ich habe eine Abfrage, um Daten von Freunden des Benutzers zu erhalten. Ich habe 3 Tabellen, die eine Benutzertabelle ist, zweite ist eine Benutzer_Tabelle, die Benutzer_ID und FREIND_ID hat (beide sind Fremdschlüssel für Benutzer Tabelle) und 3. Tabelle ist Feed-Tabelle, die User_id und Feed-Inhalt hat. Feed kann Freunden gezeigt werden. Ich kann auf zwei Arten entweder durch Join oder durch Verwendung von In-Klausel abfragen (ich kann alle Freunde IDs von Graph-Datenbank, die ich für die Vernetzung verwende).Mysql innere Join vs in Klausel Leistung
Hier sind zwei Abfragen 1.
SELECT
a.*
from feed a
inner join user_friend b on a.user_id = b.friend_id
where b.user_id = 1 ;
In dieser Abfrage i Freund Ids von Graph-Datenbank erhalten und auf diese Abfrage
SELECT a.* from feed a where a.user_id in (2,3,4,5)
passieren
Welche Abfrage läuft schneller und gut für die Leistung, wenn ich Millionen von Datensätzen habe?
Mögliches Duplikat von [inner Join und where in() Klausel Leistung?] (Https://stackoverflow.com/questions/5274618/inner-join-and-where-in-clause-performance) – BRjava
Diese Frage hat sub Frage, ich habe tatsächlichen Wert in IN-Klausel. Ich muss keine Tabelle abfragen, um Werte zu erhalten. Aber ich habe durchschnittlich 1000 Werte in IN-Klausel. – Nikesh
Sie sind zwei verschiedene Abfragen. Was ist besser; ein Hammer oder ein Schraubenzieher? – Strawberry