0 0

SQL 效率特别低0

 select sum( bt01.AR_AMOUNT) from
               TB_MSS_SETT_CONTRACT   bf01,
               TB_MSS_SC_ACC_RECV_DET bf06,
               TB_MSS_SETT_INVOICE    bf02,
               TB_SCC_WF_PROC_MAIN    ac03,
               TB_MSS_SC_ACC_RECV     bt01
         where ac03.target_table_name = 'TB_MSS_SETT_INVOICE'
           and ac03.target_table_id = bf02.mss_sett_invoice_id
           and bf02.mss_sett_contract_id = bf01.mss_sett_contract_id
           and bf01.mss_sett_contract_id = bf06.mss_sett_contract_id
           and bf06.MSS_SC_ACC_RECV_ID = bt01.mss_sc_acc_recv_id
           and bt01.OVERDUED = '0'
           and bf01.NOTE_STATE = 2
           and ac03.STATUS = '4'
           and bt01.duein_amount>0
           and not(bt01.AR_STATUS = '2')
           and bf01.scc_company_id = 110
           and bf01.SETTLE_TYPE_NO = 136
           and  bt01.acc_recv_date <  trunc(sysdate-1,'mm')
           group by bf01.scc_company_id, bf01.SETTLE_TYPE_NO;



就这个查询条件居然要执行10多20秒 请问问题在哪儿
2014年11月06日 16:03

6个答案 按时间排序 按投票排序

0 0

将where条件字段加索引会快些

2014年11月12日 13:43
0 0

改用left join 试试

2014年11月08日 21:42
0 0

先把执行计划发出来看看.

2014年11月07日 15:41
0 0

把条件字段都加索引肯定快很多

2014年11月07日 11:29
0 0

五表联查,一张表如果100条数据,五张表就是100*100*100*100*100的查询量,这种情况就要给数据量多的表加索引了

2014年11月07日 09:14
0 0

mss_sett_contract_id  mss_sc_acc_recv_id   字段做下索引试试

2014年11月06日 17:27

相关推荐

    优化SQL效率

    优化SQL语句提高oracle执行效率(34种方法),提高你的sql执行效率,特别针对大数据。

    SQL+Assistant汉化绿色特别版本版

    Sql助手,有效的提高Sql编写效率 检查语法错误,自动格式化代码,括号高亮提示

    收获不止SQL优化

    15.1.2 特别之处 407 15.2 分析函数详解与案例 409 15.2.1 学习详解 410 15.2.2 案例分享 417 15.3 本章习题、总结与延伸 432 第16章 动手,把握需求改写让SQL飞 433 16.1 考虑需求最小化 434 16.2 千万弄清...

    LECCO SQL Expert (智能自动SQL优化)

    直至无法产生新的输出或搜索限额满→对 输出的SQL语句进行过滤,选出具有不同执行计划的SQL语句(即不同的执行效率)→对得到的SQL语句进行批量测试,找出性能最好的SQL语句。图2 优化前的SQL语句 自动优化实例 假设...

    SQL Prompt 7(sql智能提示插件) v7.0.0.40 (特别版)

    是强大的sql编程工具,这是sql server的一款插件,同时还适用于vs,软件提供了sql智能提示插件、自定义代码片代码重构等多种功能,可以大大地提高sql数据库的开发效率

    收获,不止SQL优化--抓住SQL的本质

    15.1.2 特别之处 407 15.2 分析函数详解与案例 409 15.2.1 学习详解 410 15.2.2 案例分享 417 15.3 本章习题、总结与延伸 432 第16章 动手,把握需求改写让SQL飞 433 16.1 考虑需求最小化 434 16.2 千万弄清...

    SQLServer安全及性能优化

    2、使用统一的SQL语句规范,特别是访问表的顺序要保持一致,这样可以避免互相占用资源而导致的死锁。 不合理的数据文件设置,影响事务处理的性能 当事务处理产生大量数据的时候,数据文件的大小如果设置不合理将...

    sql server分页

    sql server分页技术,非常牛的分页,效率特别高,在各种网络环境下分页速度飞快

    oracle的sql优化

     使用显性游标而不使用隐性游标,特别是大数据量情况下隐性游标对性能影响很大  是否使用函数的问题  用直接的表关联来代替Exist.用Exist或Not Exists来代理In。In进行子查询效率很差。 5.SQL语句分析  通过...

    Excel VBA上传数据到SQL server

    在企业信息化初期,大部分数据都会通过excel...作为VBA,看上去简单,其实时间成本特别高,效率低; 现在就分享一个资源,Excel VBA 上传当前sheet中的所有内容到数据库, 然后通过excle调取数据库的数据进行呈现;

    SQL注入漏洞全接触——高级篇.txt

    看完入门篇和进阶篇后,稍加练习,破解...5. 猜解Access时只能用Ascii逐字解码法,SQLServer也可以用这种方法,只需要两者之间的区别即可,但是如果能用SQLServer的报错信息把值暴露出来,那效率和准确率会有极大的提高

    SQL性能优化

     索引选择性低,但资料分布差异很大时,仍然可以利用索引提高效率。  Oracle 优化器无法用上合理索引的情况下,利用 hint 强制指定索引。  使用复合索引且第一个索引字段没有出现在 where 中时,建议使用 hint...

    sql server 2005数据库优化方法

    我经常碰到有人会问一些数据库优化方面的问题,我觉得这是一最基本技能要求,特别是使用sql server 2005,对于sql server的优化,使用的专职dba或兼职dba们工作更轻松,效率更高了,但是还是有很多新人可能不大了解...

    oracle、sql数据库批量建索引

    oracle、sqlserver数据库批量删建索引,方便好用,提高数据库查询效率,提升系统运行效率,特别是数据量比较大的情况下

    SQL查询效率注意事项小结

    一、查询条件精确,针对有参数传入情况 二、SQL逻辑执行顺序 FROM–&gt;JOIN–&gt;WHERE–&gt;GROUP–&gt;HAVING–&gt;DISTINCT–&gt;ORDER–&gt;TOP 三、横向 查询需要的字段 当在SQL语句中连接多个表时,请使用表的别名并把别名前缀于每...

    SQL查询安全性及性能优化

     优化:【检查SQL语句是否能够使用索引,SQL语句如何执行效率高,制定一个执行计划】  编译:  执行SQL语句:【把编译过的查询要求提交并进行处理】 如何优化SQL 完善开发的管理 完善代码审核、测试机制,...

    SQL效率提升之一些SQL编写建议并有效利用索引

    如何编写SQL语句也是影响索引性能的一个重要方面,下面有几点需要特别留意

    达梦数据库_SQL语言手册

    达梦数据库_SQL语言手册.pdf 数据库快照定义语句 数据库快照删除语句 第章数据查询语句和全文检索语句 单表查询 简单查询 带条件查询 集函数 情况表达式 连接查询 子查询 标量子查询 表子查询 派生表子...

    MySQL批量SQL插入性能优化详解

    特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。 经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考...

    批量插入数据使用C#自带SqlBulkcopy类

    使用C#自带SqlBulkcopy类,批量插入数据库,与一般insert into 插入效率相比,插入速度一个天一个地,效果很明显。特别用在导入大量数据时。

Global site tag (gtag.js) - Google Analytics