编写一个慢 SQLITE 查询来测试超时

Sim*_*man 1 sqlite unit-test

是否可以编写一个运行时间超过 5 秒的“简单”SQLite 查询。

我正在我的应用程序中编写一些单元测试来记录慢查询,为此,我想要一个我知道运行时间超过 5 或 10 秒的慢查询,(并创建一个警告来引发/记录) .

我正在考虑创建 10 个表,每个表中有 10 个条目,并对所有表进行连接选择。
但我不确定这是否是测试慢选择(而不是大返回集)的好方法。

CL.*_*CL. 5

您应该创建一个用户定义的函数,该函数会休眠所需的时间。

如果您仅限于内置机制,请尝试使用递归公用表表达式:

WITH RECURSIVE r(i) AS (
  VALUES(0)
  UNION ALL
  SELECT i FROM r
  LIMIT 1000000
)
SELECT i FROM r WHERE i = 1;
Run Code Online (Sandbox Code Playgroud)

但是 5 秒所需的迭代次数很大程度上取决于 CPU 速度。