Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想列出在同一张表上匹配的所有行。到目前为止,我已经想出了这个
SELECT * FROM parim_firms WHERE firm_name IN ( SELECT firm_name FROM parim_firms GROUP BY firm_name HAVING COUNT(*) > 1 )
但是这个查询继续运行,尽管子查询本身在 0.1 秒内运行。
我该如何优化呢?
我认为子查询对每一行执行,而不仅仅是一次。我对吗?
加入它怎么样?
SELECT a.* FROM parim_firms a INNER JOIN ( SELECT firm_name FROM parim_firms GROUP BY firm_name HAVING COUNT(*) > 1 ) b ON a.firm_name = b.firm_name
PS:请务必在列上添加索引firm_name以加快执行速度。
firm_name