帮忙迅雷看看 精简,sql 查询语句是不是可以精简

查看: 486|回复: 5
帮忙看看这句SQL
论坛徽章:1
应用程序执行了句SQL,看上去是走了索引,但是ADDM报告里面还是列举其为首要优化的SQL.,请大家帮忙看看。
---------------------1
WORKLOAD REPOSITORY SQL Report
Snapshot Period Summary
DB Name& && && &DB Id& & Instance& &&&Inst Num Startup Time& & Release& &&&RAC
------------ ----------- ------------ -------- --------------- ----------- ---
INTELWMS& && & intelwms& && && && &1 26-5月 -16 02:00 11.2.0.1.0&&NO
& && && && &&&Snap Id& && &Snap Time& && &Sessions Curs/Sess
& && && && &--------- ------------------- -------- ---------
Begin Snap:& && &月 -16 10:00:53& && &113& && & 2.3
&&End Snap:& && &月 -16 10:38:06& && &118& && & 2.4
& &Elapsed:& && && && && &37.22 (mins)
& &DB Time:& && && && && &52.91 (mins)
SQL Summary& && && && && && && &&&DB/Inst: INTELWMS/intelwms&&Snaps:
& && && && && & Elapsed
& &SQL Id& && &Time (ms)
------------- ----------
d1t1w0cuv87b5& & 547,985
Module: JDBC Thin Client
UPDATE ACT_ALLOCATION_DETAILS A SET A.PICKTOLOCATION = :B2 WHERE A.ALLOCATIONDET
AILSID = :B1
& && && & -------------------------------------------------------------& && &
SQL ID: d1t1w0cuv87b5& && && && & DB/Inst: INTELWMS/intelwms&&Snaps:
-& 1st Capture and Last Capture Snap IDs
& &refer to Snapshot IDs witin the snapshot range
-& UPDATE ACT_ALLOCATION_DETAILS A SET A.PICKTOLOCATION = :B2 WHERE A.ALL...
& & Plan Hash& && && &&&Total Elapsed& && && && && &&&1st Capture& &Last Capture
#& &Value& && && && && && &&&Time(ms)& & Executions& && & Snap ID& && &&&Snap ID
--- ---------------- ---------------- ------------- ------------- --------------
1& && && && && && & 547,985& && && &&&241& && && & 9567& && && &&&9567
& && && & -------------------------------------------------------------& && &
Plan 1(PHV: )
-----------------------
Plan Statistics& && && && && && & DB/Inst: INTELWMS/intelwms&&Snaps:
-& % Total DB Time is the Elapsed Time of the SQL statement divided
& &into the Total Database Time multiplied by 100
Stat Name& && && && && && && && && && &&&Statement& &Per Execution % Snap
---------------------------------------- ---------- -------------- -------
Elapsed Time (ms)& && && && && && && && && &547,985& && &&&2,273.8& & 17.3
CPU Time (ms)& && && && && && && && && && && && &47& && && && &0.2& &&&0.0
Executions& && && && && && && && && && && && &&&241& && && && &N/A& &&&N/A
Buffer Gets& && && && && && && && && && && &&&1,216& && && && &5.0& &&&0.0
Disk Reads& && && && && && && && && && && && && & 0& && && && &0.0& &&&0.0
Parse Calls& && && && && && && && && && && && & 242& && && && &1.0& &&&0.3
Rows& && && && && && && && && && && && && && &&&241& && && && &1.0& &&&N/A
User I/O Wait Time (ms)& && && && && && && && && &0& && && && &N/A& &&&N/A
Cluster Wait Time (ms)& && && && && && && && && & 0& && && && &N/A& &&&N/A
Application Wait Time (ms)& && && && && && &547,946& && && && &N/A& &&&N/A
Concurrency Wait Time (ms)& && && && && && && && &0& && && && &N/A& &&&N/A
Invalidations& && && && && && && && && && && && & 0& && && && &N/A& &&&N/A
Version Count& && && && && && && && && && && && & 1& && && && &N/A& &&&N/A
Sharable Mem(KB)& && && && && && && && && && && &30& && && && &N/A& &&&N/A
& && && & -------------------------------------------------------------& && &
Execution Plan
---------------------------------------------------------------------------------------------
| Id&&| Operation& && && & | Name& && && && && && & | Rows&&| Bytes | Cost (%CPU)| Time& &&&|
---------------------------------------------------------------------------------------------
|& &0 | UPDATE STATEMENT& &|& && && && && && && && &|& && & |& && & |& &&&2 (100)|& && && & |
|& &1 |&&UPDATE& && && && &| ACT_ALLOCATION_DETAILS |& && & |& && & |& && && && &|& && && & |
|& &2 |& &INDEX UNIQUE SCAN| SYS_C0017238& && && &&&|& &&&1 |& & 17 |& &&&1& &(0)| 00:00:01 |
---------------------------------------------------------------------------------------------
Full SQL Text
SQL ID& && & SQL Text& && && && && && && && && && && && && && && && && && && &
------------ -----------------------------------------------------------------
d1t1w0cuv87b UPDATE ACT_ALLOCATION_DETAILS A SET A.PICKTOLOCATION = :B2 WHERE
& && && && &&&A.ALLOCATIONDETAILSID = :B1
论坛徽章:1
看不出来有优化的空间,
论坛徽章:1
超级简单的一句SQL,为啥列为首要优化SQL了?
求职 : 论坛徽章:12
因为报告里面列出的是时间耗费多的sql
论坛徽章:0
Parse Calls&&会不会是硬解析,等高手解答
认证徽章论坛徽章:39
kelis2004 发表于
Parse Calls&&会不会是硬解析,等高手解答
目前想到的:
1、基表上是否有很多与更新列相关的索引或者触发器?
2、查一下ORACLE系统参数 session_cached_cursor的值是多少?
3、执行以下SQL并反馈结果:
select name,value from v$sysstat where name like '%cursor%';
select name,value from v$sysstat where name like '%parse%';
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号查看: 1933|回复: 9
sql语句查询近几周数据是不是不能跨年查询?
该用户从未签到
查询上周数据的sql语句:SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1;
今天我用程序运行,结果发现根本查不到啊。是不是因为今天是日 是14年的第一周的缘故,那这么说是不是查询近几周的sql语句不能跨年查啊。
TA的每日心情开心15&小时前签到天数: 47 天[LV.5]常住居民I已加入:&已加入:&
给现在的时间加上 上一年的周数就是了,比如上一年是50周今年第一周就是50+1
该用户从未签到
给现在的时间加上 上一年的周数就是了,比如上一年是50周今年第一周就是50+1
是不是不加的话就查询不到啊!
还有一个问题怎么加?
TA的每日心情开心15&小时前签到天数: 47 天[LV.5]常住居民I已加入:&已加入:&
不加肯定查不到,你取的第几周又不分年,你说第一周,今年有,明年也有,后年也有,但时间是不一样的的,所以肯定查不出来的。最近一周直接推7天就是了,为什么要转成周之后再查询呢。
该用户从未签到
不加肯定查不到,你取的第几周又不分年,你说第一周,今年有,明年也有,后年也有,但时间是不一样的的,所 ...
程序中要用到查询上周和大上周的数据,所以才用到这里的sql语句。找了一些资料,决定用这个sql语句,去年程序运行的时候没问题的。
TA的每日心情开心15&小时前签到天数: 47 天[LV.5]常住居民I已加入:&已加入:&
你直接在原有时间上增加-7或者是-14之类的天数就行,一周是七天,几周就是几乘以7,这样简单没有问题。
该用户从未签到
你直接在原有时间上增加-7或者是-14之类的天数就行,一周是七天,几周就是几乘以7,这样简单没有问题。
可能我描述的有问题。我的目标是在本周的每个时间段(15min为一段),查询上周及大上周所有的数据,并不是一周前某时间点的某个数据。每周共有7(天)*24(小时)*4=672条数据。
TA的每日心情开心15&小时前签到天数: 47 天[LV.5]常住居民I已加入:&已加入:&
&&我看你语句了,明白你意思,你只要把周这个概念删除从你脑子里,你计算7天就行了,不要说周,你掉进迷魂阵了,呵呵,你先想想,我明天看看,你再详细说下,明天我看看能不能帮你写个出来,你就直接说要查什么数据,表是什么样的截图一下就行
该用户从未签到
我看你语句了,明白你意思,你只要把周这个概念删除从你脑子里,你计算7天就行了,不要说周,你掉进迷魂 ...
昨天我想出解决方法来了,谢谢你的建议,我用的也是你的方法。
我还有个问题,如果我向数据库中添加数据,显然数据存在于表的末尾,我想让数据表按照某个字段的大小重新更新一下,代码如何实现?
比如说 一个数据表a 里面有字段c,d,e 其中c是datetime型字段,想按照c由小到大排列
TA的每日心情开心15&小时前签到天数: 47 天[LV.5]常住居民I已加入:&已加入:&
昨天我想出解决方法来了,谢谢你的建议,我用的也是你的方法。
我还有个问题,如果我向数据库中添加数据 ...
这个有个order by 字段名&&desc&&加上desc是降序不加是升序
select * from t order by&&createtime desc
( 豫ICP备号-1)------解决方案--------------------&script type="text/javascript"&
var xmlHttp
function createXMLHttp(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
function yanzheng_username(){
createXMLHttp();
var tmpusername=document.zhuce.username.value
if(tmpusername=="")
document.getElementById("span1").innerHTML="不能为空"
var url="server.asp?username=" +
xmlHttp.onreadystatechange = processS
xmlHttp.open("GET", url, true);
xmlHttp.send();
function processSet(){
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
if (xmlHttp.responseText == '1') {
document.getElementById("span1").innerHTML="重复数据"
if (xmlHttp.responseText == '0') {
document.getElementById("span1").innerHTML="正确"
}function check(f){//return false阻止表单提交
if(f.username.value==''){alert('用户名不能为空!');f.username.focus();}
//有其他验证的继续
if(document.getElementById("span1").innerHTML!="正确"){alert('用户名错误或者正在验证中。。');}
&form name="zhuce" action="yanzheng.asp" method="post" onsubmit="return check(this)" /&
&p&&input type="text" name="username" id="username" onBlur="yanzheng_username()" /&&span id="span1"&&/span&&/p&
&p&&input type="submit" value="提交" /&&/p&
楼主去学下基础的dhtml了,这些这么基础的
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:各位高手, 帮看看这个SQL语句是否有问题,谢谢!_百度知道
各位高手, 帮看看这个SQL语句是否有问题,谢谢!
%3%&#39SELECT 流水号,GROUP_CONCAT(条码) FROM db_test GROUP BY 流水号 WHERE 条码 LIKE &#39,条码 FROM db_test WHERE 流水号 IN(SELECT 流水号;)
提问者采纳
肯定有问题IN(SELECT 流水号,GROUP_CONCAT(条码),这里是两个字段,作为条件只能留流水号一个字段
提问者评价
非常感谢!!
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁SQL查询语句问题,本人初学者,在网上看到一个试题,请大神帮忙看下答案是否正确_百度知道
SQL查询语句问题,本人初学者,在网上看到一个试题,请大神帮忙看下答案是否正确
select a.O101&#39。数据库名;b:发生额:发生额月份,则需要使用sum()聚促函数,如果每个科目每月只有一个发生额;如果是每科目每月有若干个发生额.Debit101ccur个人认为的答案请用SQL语句实现:select a.Occmonth=b:JcyAudit.Occmonth and a,数据集,DebitOccur:从TestDB数据表中查询出所有月份的发生额都比101科目相应月份的发生额高的科目,那么DebitOccur前的MAX()就不需要,Occmonth,max(DebitOccur) Debit101ccur from TestDB where AccID=&#39:Select * from TestDB原答案,都有1-12月份的发生额:我的理解; group by Occmonth) bwhere a.Occmonth=b。请注意:TestDB中有很多科目.DebitOccur&gt.*from TestDB a .DebitOccur&gt,(select O101'b,(select Occmonth.AccIDfrom TestDB a 。AccID:科目代码,DebitOccur Debit101ccur from TestDB where AccID=&#39:答; group by Occmonth) bwhere a
提问者采纳
因为b的group by里只有Occmonth,DebitOccur前面没有max()会报语法错误。
其他类似问题
为您推荐:
sql查询的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 迅雷精简版 的文章

 

随机推荐