lightdb sleep vs oracle sleep


有些时候,我们需要在测试时进行sleep,以便判断tps,oracle中如下:

SELECT count(1) FROM scott.users;
BEGIN
    DBMS_LOCK.sleep (1);
END;
/
SELECT count(1) FROM scott.users;

需要sys登录先授权,如下:

SQL> grant execute on dbms_lock to scott; 

Grant succeeded.

不然可能会提示无权限,如:

PROCEDURE TES 出现错误:
4/3 PLS-00201: 必须说明标识符 'SYS.DBMS_LOCK'
4/3 PL/SQL: Statement ignored

在Lightdb中,sleep就不需要特殊处理了。如下:

SELECT count(1) FROM scott.users;
select pg_sleep(1);
SELECT count(1) FROM scott.users;