专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 高性能数据库开发

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

发布时间:2010-05-24 21:16:57 文章来源:www.iduyao.cn 采编人员:星星草
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。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: