网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

怎么使用DETERMINISTIC函数

这篇文章主要讲解了“怎么使用DETERMINISTIC函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用DETERMINISTIC函数”吧!

专注于为中小企业提供网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业麟游免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

我定义了如下函数:

FUNCTION plch_getdata (n NUMBER)
   RETURN NUMBER
IS
BEGIN
   RETURN n;
END;

哪些选项包含了这样的代码,如果我把上述函数加上DETERMINISTIC关键字,则性能会得到改善?

两点要注意:

1. 在其中一个选项中,这个函数被“重定义”为一个内嵌的子程序。

2. 其中的两个选项包含了在ALL_SOURCE执行的查询,你可以假定这个视图中有超过1,000,000行的代码。

(A)

DECLARE
   n   NUMBER;
BEGIN
   FOR rec IN (SELECT plch_getdata (1) n
                 FROM all_source
                WHERE ROWNUM < 1000000)
   LOOP
      n := rec.n;
   END LOOP;
END;
/

(B)

DECLARE
   n   NUMBER;
BEGIN
   FOR indx IN 1 .. 10000000
   LOOP
      n := plch_getdata (1);
   END LOOP;
END;
/

(C)

DECLARE
   n   NUMBER;
   FUNCTION plch_getdata (n NUMBER)
      RETURN NUMBER
      DETERMINISTIC
   IS
   BEGIN
      RETURN n;
   END;
BEGIN
   FOR indx IN 1 .. 10000000
   LOOP
      n := plch_getdata (1);
   END LOOP;
END;
/

(D)

DECLARE
   n   NUMBER;
BEGIN
   FOR rec IN (SELECT plch_getdata (ROWNUM) n
                 FROM all_source
                WHERE ROWNUM < 1000000)
   LOOP
      n := rec.n;
   END LOOP;
END;
/

答案AB.

A和B都反复调用同样的函数并使用同样的参数。加上deterministic 之后, 函数结果会被缓存,只有一次调用。

C:语法错误,嵌套子程序里面不可以用deterministic。

D:每次参数都发生变化因此无法缓存。

感谢各位的阅读,以上就是“怎么使用DETERMINISTIC函数”的内容了,经过本文的学习后,相信大家对怎么使用DETERMINISTIC函数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


标题名称:怎么使用DETERMINISTIC函数
文章链接:http://bjjierui.cn/article/jphcpj.html

其他资讯