我有以下 SQL 代码,它适用于小型数据集。我有一个朋友告诉我,我应该考虑将它放入 MySQL 中的 FOR 循环中,使用 aSELECT DISTINCT c.name
作为循环条件。
SELECT c.name, c.limit, c.price, c._low, c._high, c.date
FROM comp c
WHERE c.e_id IN
(SELECT e_id FROM part_e WHERE core_id=23)
OR c.pn IN
(SELECT pn FROM part_ct WHERE core_id=23)
GROUP BY c.name
ORDER BY c.date DESC, c.name ASC
LIMIT 0,200
作为一个新的 SQL 程序员,我正在寻找如何在 MySQL 中执行循环。虽然在概念上看起来很简单,但我很难弄清楚如何实际设计 SQL 语句以在循环中实际运行它。
我的朋友告诉我,你应该使用循环的原因是,在处理非常大的数据集或处理非常大的查询请求时,对 SQL 数据集使用“post”运算符会对性能产生负面影响。
这对我来说很有意义,所以我正在寻找一些帮助来理解如何做到这一点,以及更多关于为什么子查询被认为是不好的做法的信息。
谢谢大家的帮助!