Christian Kruse: /MySQL suchanfrage über mehrere tabellen

Beitrag lesen

你好 Roger,

wie formuliert man (vereinfacht) eine suchanfrage über mehrere tabellen?

Du Joinst die notwendigen Tabellen zusammen (z. B. über LEFT JOIN) und
verknüpfst die Vergleiche für jedes Feld mit einem OR.

sucht man aber nach allen zeilen in tab2, die 'name' ausgeführt hat,
wirds kompliziert. bzw. weiß ich nicht weiter, weil ja tab1id in name
aufgelöst werden muss.

Mach halt einen Join, der dir die notwendigen Daten dazuholt. Wo genau liegt
gerade dein Problem?

Übrigens, überlege dir, ob du wirklich mit einem LIKE "%wort%" arbeiten
willst. Das führt zwangsläufig zu einem full table scan. Das bedeutet, dass
die Datenbank in jedem Fall zwingend jeden Datensatz auf diese Bedingung
hin überprüfen muss. Wenn du mit einem LIKE "wort%" arbeiten kannst, oder
auch mit einem Fulltext-Index, dann müssen uU nur noch [latex]\log_2n[/latex]
Datensätze (wobei n für die Anzahl der Datensätze steht) überprüft werden.

再见,
 克里斯蒂安

--
Bruce Lee, der Meister | Neues Design im Thema
Sich erinnern bedeutet, aus einer Erfahrung nicht ausreichend gelernt zu haben.
http://wwwtech.de/