UndSo: Mit INNER JOIN 3 Tabellen verbinden

Beitrag lesen

Hallo Forum,
ich hatte mal im Archiv nach einer Query gefragt, die ich nun weiter ausbauen will.
Sprich, mit Hilfe von INNER JOIN 3 Tabellen verbinden. Mit hilde der Doku würde ich das bestimmt selber hinkriegen, mein Problem ist nur, dass ich in der 3'ten Tabelle einen coun(*) brauche.

Diese Query soll nun mit der dritten Tabelle erweitert werden:

select A.kategorie, A.name, A.beschreibung, A.themen, A.antworten, MAX(B.thumbname)
from präfix_galerie AS A
INNER JOIN präfix_galeriebilder AS B on A.kategorie=B.kategorie
GROUP BY A.kategorie, A.name, A.beschreibung, A.themen, A.antworten
;

Von der dritten Tabelle, die präfix_kommentare heißt, brauche ich den count(*), wieviele Kommentare (Zeilen) von "where C.userid=1" in der Spalte Userid vorhanden sind.

A.kategorie=B.kategorie

A.galerieid=B.galerieid=C.galerieid

Eine Frage noch nebenbei. Habe pro Tabelle Testweise zurzeit vielleicht 10 Zeilen drin.
Wenn man die obere Query abfrage, braucht er ungefähr 0.03.. Sekunden. Das ist normalerweise schlecht ne?
Müsste nochmal nachschauen, nicht dass ich mich verschaut habe uns es 0.003.. Sekunden sind.

Wenn ich A.galerieid=B.galerieid=C.galerieid für die neue Query nehme, dann setze ich den PrimaryKey für alle drei Tabellen auf galerieid.

  • Wäre es von der Perfomance eher schlecht, bzw. überhaupt sinnvoll, wenn ich für die Tabelle präfix_kommentare 2 Primary Keys setze? Diese Query von oben greift dann immer auf galerie zu. In einer anderen Stelle der Community brauce ich dann noch sehr oft die Spalte kommentarid von der Tabelle präfix_kommentare
  • Meine letzte Frage noch, dass ich das mit dem index kapiere. Wir haben eine Geo_Tabelle, mit PLZ, Stadt usw. Jede Zeile hat eine eindeutige id, deshalb ist für id ein inex gesetzt. Nun meine Frage. Wenn nun ab und zu mal ein paar Zeilen von der Geo_Tabelle gelöscht werden (aus was für einem Grund auch immer) und neue Zeilen eingefügt werden mit fortlaufender ID, wäre dann ein Index besser oder ein Primary Key?
    Ich habe irgendwo mal gelesen, dass es nicht gut sei, wenn man Zeilen löscht, wenn ein Index gesetzt ist.

Viele Grüße
undso