擅长:python、mysql、java
<p>首先,使用适当的、明确的、标准的、可读的<code>JOIN</code>语法重写查询:</p>
<pre><code> SELECT C.id, COUNT(*)
FROM Linea L JOIN
Comunas C
ON L.comuna = C.id JOIN
Predio P
ON C.id = P.comuna AND P.avaluo_exento > C.avaluo_promedio
WHERE L.calidad_construccion = 1
GROUP BY C.id ;
</code></pre>
<p>从以下索引开始:</p>
<ul>
<li><code>Linea(calidad_construccion, comuna)</code></li>
<li><code>Comunas(id, avaluo_promedio)</code>如果“id”是主键,则可能不需要</li>
<li><code>Predio(comuna, avaluo_exento)</code></li>
</ul>
<p>根据您拥有的“commonas”数量和返回的数量,您可以通过消除外部<code>GROUP BY</code>来进一步优化此查询</p>