DECLARE
G_START NUMBER;
G_END NUMBER;
V_LINE NUMBER;
BEGIN
G_START := DBMS_UTILITY.GET_TIME;
-- 要执行的语句0;
SELECT COUNT(*)
INTO V_LINE
FROM PRODUCT_PRICE_LOG PPL
WHERE SYSDATE < (PPL.GMT_CREATION + 1);
G_END := DBMS_UTILITY.GET_TIME - G_START;
DBMS_OUTPUT.PUT_LINE('数据参与运算(右):' || G_END);
G_START := DBMS_UTILITY.GET_TIME;
-- 要执行的语句1;
SELECT COUNT(*)
INTO V_LINE
FROM PRODUCT_PRICE_LOG PPL
WHERE (PPL.GMT_CREATION + 1) > SYSDATE;
G_END := DBMS_UTILITY.GET_TIME - G_START;
DBMS_OUTPUT.PUT_LINE('数据参与运算(左):' || G_END);
G_START := DBMS_UTILITY.GET_TIME;
-- 要执行的语句2;
SELECT COUNT(*)
INTO V_LINE
FROM PRODUCT_PRICE_LOG PPL
WHERE (SYSDATE - 1) < PPL.GMT_CREATION;
G_END := DBMS_UTILITY.GET_TIME - G_START;
DBMS_OUTPUT.PUT_LINE('数据不参与运算(右):' || G_END);
G_START := DBMS_UTILITY.GET_TIME;
-- 要执行的语句3;
SELECT COUNT(*)
INTO V_LINE
FROM PRODUCT_PRICE_LOG PPL
WHERE PPL.GMT_CREATION > (SYSDATE - 1);
G_END := DBMS_UTILITY.GET_TIME - G_START;
DBMS_OUTPUT.PUT_LINE('数据不参与运算(左):' || G_END);
END;
在200万条数据,没有索引的条件下,运行结果如下,谢谢啦!
数据参与运算(右):1517
数据参与运算(左):1486
数据不参与运算(右):608
数据不参与运算(左):609