当前位置: 首页 > news >正文

做微博分析的网站wordpress无法创建页面

做微博分析的网站,wordpress无法创建页面,做网站的企业排名,宁波建网站哪家好用点一、ORACLE中的类似的函数稳定性关键字#xff08;DETERMINISTIC#xff09; 在ORACLE里#xff0c;function有着一个DETERMINISTIC参数#xff0c;它表示一个函数在输入不变的情况下输出是否确定#xff0c;只要输入的参数一样#xff0c;返回的结果一定一样的#xf…一、ORACLE中的类似的函数稳定性关键字DETERMINISTIC 在ORACLE里function有着一个DETERMINISTIC参数它表示一个函数在输入不变的情况下输出是否确定只要输入的参数一样返回的结果一定一样的以保证函数对于任何输入总是完全相同的方式处理参数oracle的内置函数 UPPER,TRUNC 等都是 deterministic 函数。具体例子如下 ----带DETERMINISTIC的现象 create or replace function f_t(i_p int) return number DETERMINISTIC isi_rtn number;begini_rtn : i_p * dbms_random.value(1,10);return i_rtn;end;/select LEVEL,f_t(1) FROM DUAL CONNECT BY LEVEL10;----不带DETERMINISTIC的现象create or replace function f_t(i_p int) return number isi_rtn number;begini_rtn : i_p * dbms_random.value(1,10);return i_rtn;end;/select LEVEL,f_t(1) FROM DUAL CONNECT BY LEVEL10;可以看到带了DETERMINISTIC参数的多次执行的结果都是一样的能保证函数的稳定性。 二、MogDB/openGauss的三种函数稳定性状态 而MogDB数据库的函数虽然没有DETERMINISTIC关键字但是函数也有着类似的三种状态的关键字分别是immutable、stable和volatile。合理使用着三种不同的状态可以显著改善函数性能。 在数据库里使用\d create function也可以看到这三种状态的关键字提示。 IMMUTABLE(非常稳定) 任何时候调用只要函数的参数不变结果就不变。 纯函数执行结果可能会在规划时被预求值并缓存。 允许优化器在一个查询用常量参数调用该函数时提前计算该函数整数加法操作符底层的函数被 标记为IMMUTABLE。 表示该函数不能修改数据库并且对于给定的参数值总是会返回相同的值。 也就是说它不会做数据库查找或者使用没有在其参数列表中直接出现的信息。immutable, 和stable非常类似, 但是immutable是指在任何情况下, 只要参数一致, 结果就一致。 STABLE(稳定) 稳定在一个事务中调用时只要函数的参数不变结果就不变。 STABLE函数不能修改数据库状态,但是对于相同的参数值它在一次表扫描中将返回相同的结果。 因而优化器可以将相同参数的多次调用优化成一次调用。在索引扫描条件中允许使用STABLE函数。 在大多数情况下是的。在单个表扫描中对相同的参数值返回相同的结果但结果将通过SQL语句进行更改。 结果取决于数据库查找或参数值。 current_timestamp系列函数是 STABLE; 值在执行中不会改变。 immutable和stable很像显著的区别是优化器对immutable和stable函数的处理上,immutable函数在优化器生成执行计划时会将函数结果替换函数. 也就是函数不在输出的执行计划中, 取而代之的是一个结果常量。stable函数则不会如此, 执行计划输出后还是函数。 immutable和stable在调用次数上的明显区别可以用如下的测试验证出来 CREATE OR REPLACE FUNCTION func_out_num() RETURNS INTEGER AS $$ BEGIN RAISE NOTICE Invoke the func.; RETURN 6; END; $$ LANGUAGE PLPGSQL STABLE;select func_out_num() from generate_series(1,10); alter function func_out_num() immutable; select func_out_num() from generate_series(1,10);在本例中当使用STABLE关键字的时候会按照调用10次函数而当使用IMMUTABLE关键字时它会被优化为一次调用。 除此之外把函数内容放到结果集部分两种状态的差异也很大如下测试可以看出 MogDB# create table test_stable (id int, info text); CREATE TABLE MogDB# insert into test_stable select generate_series(1,100000),random()::text; INSERT 0 1000 MogDB# create index idx_test_a on test(id); CREATE INDEX创建如下函数 create or replace function func_stable() returns numeric as $$ declare begin return 2; end; $$ language plpgsql stable; 使用如下语句可以进行验证两种方式的执行计划时间明显不同。 explain analyze select func_stable() from test_stable; 因此在事务中参数一致则结果一致且只关注函数的最终结果可以标记为immutable因为它调用函数的次数少固化了函数的结果执行计划的代价较小。但是一般还是建议使用stable因为它会老老实实的去执行函数而不是只取一个固化的结果。 VOLATILE(不稳定) 默认为VOLATILE。表示该函数的值在一次表扫描中都有可能改变因此不能做优化。 VOLATILE函数可以做任何事情包括修改数据库状态。 在连续调用时即使使用相同的参数也可能会返回不同的结果。优化器不会优化掉此类函数每次调用都会重新求值。 在这种意义上相对较少的数据库函数是不稳定的。 例如: random(), currval(), timeofday()。 任何具有副作用的函数的都不稳定的即使其结果是可预测的。例如: setval()。 只有函数声明了VOLATILE状态才可以进行update操作。 具体的验证如下所示 MogDB# create table test_volatile (id int, info text); CREATE TABLE MogDB# insert into test_volatile select generate_series(1,1000),random()::text; INSERT 0 1000 MogDB# create index idx_test on test(id); CREATE INDEX然后建立测试的函数 create or replace function func_volatile(ida int) returns text as $$ declare result text; begin update test_volatile set infoxiaoguaishou where idida returning info into result; return result; end; $$ language plpgsql volatile; 可以看到测试结果
http://www.w-s-a.com/news/497104/

相关文章:

  • 原创网站模版苏州响应式网站建设
  • 做海报在哪个网站可以找素材网址申请注册方法
  • 网站建设分哪些类别别人做的网站不能用
  • 做网站网站会怎么样全国高校校园网站联盟建设
  • 整站下载器 做网站地图地产项目网站设计
  • 创意设计网站公司手机wap网站建设多少钱
  • 甘肃省第八建设集团公司网站seo高级优化方法
  • 精美的商城网站介绍最多人用的wordpress子主题
  • 检察门户网站建设情况俄外长抵达北京
  • 老电脑做网站服务器网站在线留言如何做
  • 南宁广告公司网站建设小程序源码破解
  • 沛县做网站xlec网站建设开发方式包括哪些方面
  • 山西网站建设 哪家好四川城乡和建设厅网站
  • 有瀑布流的网站小型商城网站
  • 百石网怎么做网站二次开发软件
  • 网站域名是什么东西制作网页哪家好
  • 合肥网站建设团队简述网站内容管理流程
  • 网站广告是内容营销吗wordpress增加背景图片
  • 网站建设技术jsp课程设计响应式布局网站开发
  • 东莞网站排名优化seo套路网站怎么做的
  • 我做网站网络建站一般多少钱
  • 如何快速提升网站关键词排名房地产网站开发毕业设计
  • 做网站 提交源码 论坛sem分析是什么意思
  • 网站建设与部署阿里云大学百度付费推广有几种方式
  • 作品集怎么做网站个人简历模板免费下
  • 工业网站素材重庆关键词自动排名
  • 拖拽式网站建设费用微网站怎么做的好名字
  • 长沙电信网站备案谷歌推广怎么做最有效
  • 网站建设与管理总结报告华为开发者联盟
  • 门诊部网站建设天空建筑网站