MadMan2k
2005-01-25, 16:27:05
ich habe zwei Tabellen (a,b) in denen jeweils n Element eine bestimmte ID haben.
Diese Anzahl möchte ich nun gerne wissen und zusätzlich aus Tabelle a den Inhalt einer Reihe haben.
Tabelle A hat dabei immer mindestens einen Eintrag mit der gewünschten ID.
nun habe ich mir zwei Lösungen ausgedacht und würde gerne wissen, welche die bessere ist.
1)
SELECT a.bla, COUNT(DISTINCT a.ID), COUNT(DISTINCT b.ID)
FROM a
LEFT JOIN b USING (commonID)
WHERE a.commonID = meine ID
GROUP BY a.commonID
2)
SELECT a.bla, COUNT(*)
FROM a
WHERE commonID = meine ID
GROUP BY commonID
SELECT COUNT(*)
FROM b
WHERE commonID = meine ID
es stehen als zwei simple Queries einem aufwendigen ggü.
und wo ich grad dabei bin:
ist mysql_fetch_row() auch dann noch schneller als mysql_result(), wenn man wirklich nur ein einziges Feld aus der Reihe braucht?
Diese Anzahl möchte ich nun gerne wissen und zusätzlich aus Tabelle a den Inhalt einer Reihe haben.
Tabelle A hat dabei immer mindestens einen Eintrag mit der gewünschten ID.
nun habe ich mir zwei Lösungen ausgedacht und würde gerne wissen, welche die bessere ist.
1)
SELECT a.bla, COUNT(DISTINCT a.ID), COUNT(DISTINCT b.ID)
FROM a
LEFT JOIN b USING (commonID)
WHERE a.commonID = meine ID
GROUP BY a.commonID
2)
SELECT a.bla, COUNT(*)
FROM a
WHERE commonID = meine ID
GROUP BY commonID
SELECT COUNT(*)
FROM b
WHERE commonID = meine ID
es stehen als zwei simple Queries einem aufwendigen ggü.
und wo ich grad dabei bin:
ist mysql_fetch_row() auch dann noch schneller als mysql_result(), wenn man wirklich nur ein einziges Feld aus der Reihe braucht?