|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。成绩
明天在Oracle9i的SQLPlusWorksheet中发明一个出格怪奇的成绩,看以下语句,是先扫除sys_object表,然后在该表中insert3条数据,在Golden32的5.7版本中实行完整一般:
/*====================*/
/*ObjectData*/
/*====================*/
deletefromsys_object;
/*Merchant*/
--MerchantGroup
insertintosys_object("OBJECT_ID","OBJECT_NAME","MENU_ID","OBJECT_TYPE","OBJECT_USER","PROCESS","CREATE_USER","CREATE_TS","ITEM_SEQ","OBJECT_SEQ")VALUES(M_MERCGR,MerchantGroup,M_MERC,W,A,merchant/mercgr_browse.asp,SYSTEM,SYSDATE,3,4);
/*MPSOperation*/
insertintosys_object("OBJECT_ID","OBJECT_NAME","MENU_ID","OBJECT_TYPE","OBJECT_USER","PROCESS","CREATE_USER","CREATE_TS","ITEM_SEQ","OBJECT_SEQ")VALUES(M_OPER,MPSOperation,NULL,M,A,,SYSTEM,SYSDATE,2,5);
--PaymentAdjustment
insertintosys_object("OBJECT_ID","OBJECT_NAME","MENU_ID","OBJECT_TYPE","OBJECT_USER","PROCESS","CREATE_USER","CREATE_TS","ITEM_SEQ","OBJECT_SEQ")VALUES(M_PAYADJ,PaymentAdjustment,M_OPER,W,A,operation/payadj_browse.asp,SYSTEM,SYSDATE,1,6);
commit;
但在Oracle9i的SQLPlusWorksheet中实行时,呈现的提醒倒是如许的:
已删除3行。
已删除0行。
已创立1行。
insertintosys_object("OBJECT_ID","OBJECT_NAME","MENU_ID","OBJECT_TYPE","OBJECT_USER","PROCESS","CREATE_USER","CREATE_TS","ITEM_SEQ","OBJECT_SEQ")VALUES(M_MERCGR,MerchantGroup,M_MERC,W,A,merchant/mercgr_browse.asp,SYSTEM,SYSDATE,3,4)
*
ERROR位于第1行:
ORA-00001:违背独一束缚前提(HYH.PK_SYS_OBJECT)
已创立1行。
已创立1行。
提交完成。
我忧郁,语句好好的为何会堕落,看堕落信息是暗示在PK字段insert了反复的值,想了半天,顿悟!WorkSheet明白是在蒙我,数据我都delete了,并且俺的PK字段是OBJECT_ID字段,不成能有反复的,再细心看一下前往信息,发明成绩了,我明显只写了一条delete语句,却前往的两条delete信息,岂非是delete实行了两次?假设是实行了两次,那末第二次实行的时分已没数据了,以是delete了0,为何实行了两次呢?
再看代码发明一个成绩:
delete以后是正文块:/*Merchant*/
再看报PK毛病的那一行:
以后也是正文块:/*MPSOperation*/
岂非是/**/弄的鬼?
好,试一下,把两个正文块都改成--开首,再Run……
,一般了……,真是气逝世我了,果然是/**/的成绩,那为何为这个正文块没成绩:
/*====================*/
/*ObjectData*/
/*====================*/
注:该块之前仍是有别的语句的。
屡次测试发明,/*前面间接跟26个英笔墨母的正文块会招致WorkSheet把该正文块前的语句从头实行一次!
/*巨细写字母*/
实在仿佛是:如许的正文/*巨细写字母*/使SQLPlusWorksheet从头实行了缓冲区中的命令行!
不知我写的或我了解的对不合错误,归正我的成绩办理了,有疑问的话就本人尝尝吧
DBaaS解决方案既可以解决这些问题,又能为客户节约资金。相反作为解决方案提供商,采用DBaaS模式似乎就并不那么有吸引力了,因为与企业内部署软件的解决方案相比,DBaaS意味着更低的利润。 |
|