未解问题汇总

1.从前写sql语句时as 中文一列名时,除非是关键字否则通常不加"",最近重新部署了一台服务器,发现原来的没问题的SQL语句,一执行就无响应了,然后服务器查看ORACLE进程的CPU占用率就会持续高过80%,只有终止进程,否则数据库会持续无响应。从前也碰到过类似现象,当时一直以为跟ORACLE版本或是服务器环境或是自己查询复杂有关。今天无意测试发现一个规律,查询中所有as成中文列名的全部改成英文列名,问题消失,再进一步测试,原来的查询中as的中文列名未加"",加上""后问题也不在了。但是这个查询跟其它服务器上运行是正常的,怀疑跟字符集有关?谁知道呢,只有这个应急解决方法了。

下面贴出有问题的SQL:

SELECT BB.* FROM (SELECT MM.* FROM (select distinct A.DOCID,A.DOCNAME as 文档名称,D.USERCNAME as 上传人,substr(A.UPLOADDATE,1,4)||'年'||substr(A.UPLOADDATE,5,2)||'月'||substr(A.UPLOADDATE,7,2)||'日' as 上传日期, A.PROJECTID,A.ACTIONID,A.DOCTYPE  from (SELECT BBB. * FROM ADMRS01 BBB  WHERE BBB.MODEDOCID IS NULL OR BBB.MODEDOCID ='')  A,AGINT006 C,ASREG005 D WHERE   C.NORMATIVEVAL=A.DOCTYPE AND D.USERID=A.UPLOADMANID AND A.ISAUDITING!=2 AND A.DOCID NOT IN (SELECT DOCID FROM ADMRS01_1) ) MM LEFT JOIN  PSWFD07 F ON MM.ACTIONID=F.ACTIONID ) BB LEFT JOIN PDWFC01 E  ON BB.PROJECTID=E.PROCASEID

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值