MySQL可以通过从循环中插入成员来创建结果集吗?

时间:2016-12-23 10:31:02

标签: mysql

MySQL可以执行while循环。

可以做这样的事吗

result_set = <EMPTY SET>

while (condition)
    SELECT foo INTO bar;
    if is_candidate
    then
        add (bar, baz) to result_set
end while

return result_set

这可能吗?如果可以的话,它有多便携?

背景,因为我确信人们会说我做错了:

  • 声明方式是SELECT whatever FROM table WHERE predicate(whatever),但在我的情况下predicateO(n)运行时间n是表的大小
  • 因此整体查询具有二次运行时间
  • 但是使用is_candidate从已知结果行搜索连接的行是O(1),因此上面的伪代码将是线性时间整体

(不,这个数据集不适合SQL,但它是我必须使用的。)

0 个答案:

没有答案