Wenn ich die Query richtig verstehe, dann willst du alle Berater ausgeben, und zusätzlich dazu sollen die Städte ausgegeben werden, in denen die Berater tätig sind ?
Vermutlich wird das Left Join im Zusammenhang mit dem größer/kleiner einen Full-Table-Scan machen.
Vielleicht hilft dir folgende Funktion weiter.
Du übergibst den Query-String und sie zeigt an, wie groß die Kardinalität der Abfrage ist.
Mit dem Optionalen 2.ten Parameter =1 kriegst du dann auch den Ergebnisswert angezeigt.
Dann siehst du auch, ob die Indizierung genutzt wird.
function analyseQuery ($query, $mode = 0)
{
$ergq = mysql_query("EXPLAIN $query");
print "\n\n<!-- Explain -->\n<table border="1" cellspacing="0">";
print "<tr>";
print "<td colspan="8" class="tinytableCC">".hiliSQL(htmlentities($query))."</td>";
print "</tr>";
print "<tr>";
print "<td class="tinytableCC">table</td>";
print "<td class="tinytableCC">type</td>";
print "<td class="tinytableCC">possible_keys</td>";
print "<td class="tinytableCC">key</td>";
print "<td class="tinytableCC">key_len</td>";
print "<td class="tinytableCC">ref</td>";
print "<td class="tinytableCC">rows</td>";
print "<td class="tinytableCC">Extra</td>";
print "</tr>";
$rowsprod = 1;
while ($dsatz = mysql_fetch_array($ergq))
{
if (isset($dsatz["Comment"]))
{
print "\n\t<tr><td colSpan="8" class="tinytableCC">".$dsatz["Comment"]."</td></tr>";
}
else
{
$rows = $dsatz["rows"];
$rowsprod *= $rows;
print "\n\t<tr>";
print "<td class="tinytableCC">".$dsatz["table"]."</td>";
print "<td class="tinytableCC">".$dsatz["type"]."</td>";
print "<td class="tinytableCC">".$dsatz["possible_keys"]."</td>";
print "<td class="tinytableCC">".$dsatz["key"]."</td>";
print "<td class="tinytableCC">".$dsatz["key_len"]."</td>";
print "<td class="tinytableCC">".$dsatz["ref"]."</td>";
print "<td class="tinytableCC">$rows</td>";
print "<td class="tinytableCC">".$dsatz["Extra"]."</td>";
print "</tr>";
}
}
print "<tr>";
print "<td colspan="8" class="tinytableCC">Anzahl Abfragen = $rowsprod</td>";
print "</tr>";
if ($mode == 1)
{
$ergqr = mysql_query("$query");
$c = queryrows($ergqr);
print "<tr>";
print "<td colspan="8" class="tinytable">Anzahl Treffer = $c</td>";
print "</tr>";
}
print "</table>";
}