擅长:python、mysql、java
<p>此子查询</p>
<pre class="lang-sql prettyprint-override"><code>WHERE NOT EXISTS
(SELECT 1 FROM instrumentsHistory f
WHERE t.datetime = f.datetime
AND t.instrumentSymbol = f.instrumentSymbol
AND t.observation = f.observation
AND t.observationColName = f.observationColName)
</code></pre>
<p>必须检查表中的每一行,并匹配四列,直到找到匹配项。在最坏的情况下,没有匹配项,必须完成完整的表扫描。因此,查询的性能将随着表大小的增加而恶化</p>
<p>正如Tim在回答中提到的,解决方案是在四列上创建一个索引,以便db能够快速确定是否存在匹配</p>