欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql效率低,请诸位大牛优化优化

更新时间: 2014-01-05 02:30:42 责任编辑: Author_N1

 

sql效率低,请各位大牛优化优化
本帖最后由 yangbenmu1988 于 2012-11-30 02:15:09 编辑


$sqls="select 
oop.id,oop.parent_product_id,oops.one_pro_id,oop.imei,oop.pur_price,oop.sal_price,sum(oops.one_pro_status_code_id) as one_pro_status_code_id,oop.vendor_sal_price,oop.product_id,oc.co_c_name    
 from 
oa_one_pro_status as oops  
 left outer join 
oa_one_pro as oop 
on oop.id=oops.one_pro_id  
 left outer join
oa_company as oc 
on oop.co_id=oc.id 
 where 
oops.post_time<$time   
 group by
 oops.one_pro_id order by sum(oops.one_pro_status_code_id)
";
//on oop.id=oops.one_pro_id 这里是一对多

$sql="select 
oop.id,ce.cs_name,cp.rule_order 
from
oa_one_pro oop
left outer join
cs_pro cp
on oop.product_id = cp.pro_no
left outer join
cs_element ce
on cp.ele_id=ce.cs_id 
order by cp.rule_order asc
";
//oop.product_id = cp.pro_no这里也是一对多,在组拼cs_name得到产品名称

//最终通过两个sql里的oop.id相同来合并两个sql里的数据,没写在一起是由于会产生多对多的情况。

//最终要的数据是$sql里的cs_name得到产品名称和$sqls里的所有得到的数据,怎么优化能快些。





另外问问有什么数据库性能测试工具好用,配置简单,不复杂。

------最佳解决方案--------------------
PLSQL里按下F5,看执行计划。通过执行计划可以很方便的看出是否有耗费比较大的全表扫描、建立的索引是否失效、是否有些大数据量的表没有建立相应的索引。通过这些分析可以进一步优化您的SQL。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:30:42
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/10713/
本文WWW.DOC100.NET DOC100.NET版权所有。