0

我有以下 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”运算符会对性能产生负面影响。

这对我来说很有意义,所以我正在寻找一些帮助来理解如何做到这一点,以及更多关于为什么子查询被认为是不好的做法的信息。

谢谢大家的帮助!

4

1 回答 1

0

你能解释一下“for”和“loop”是什么意思吗

在 SQL 中,您会使用 Select 字符串获得大量数据,这些数据必须在您的代码中使用(php、c、java ...),然后您从一行到另一行数据集到数据集,直到完成

性能提示:SQL 连接与 SQL 子查询(性能)?

提示:您应该按 c.e_id 分组(按数字分组更快)

于 2012-06-20T20:47:20.887 回答