易截截图软件、单文件、免安装、纯绿色、仅160KB

存储过程中Sql 语句查询速度优化 某例

之前的SQL语句如下,查询很慢,6分钟多都没有结果显示,一开始我以为是6张表联合查询带来的速度慢的问题。
后来发现因为PO_D.ORDNO与PO_H.ORDNO相同,把绿色部分替换为紫色的部分,
把PO_D替换为PO_H,10秒钟就能查询出来
PS:PO_D中101401笔数据,PO_H中51341笔数据。
虽没有想明白替换之后提速到如此之快仅10秒,与6分钟未出结果差异太大,但毋庸置疑的是应该以数据量少的表
作相关外键查询是可以提高速度的。所以在写SQL语句时注意此处。
 
SELECT (SELECT DEPT_CODE from AM_EMPLOYEE WHERE EMP_NO=PO_H.APPLICANT) AS DEPT_CODE,
       (SELECT LOGIN_NAME from AM_EMPLOYEE WHERE EMP_NO=PO_H.APPLICANT) AS LOGIN_NAME,
       PO_D.FPRNO,
       PO_D.ORDNO,
       PO_H.MDATE,
       PO_T.ITDSC,
       PO_T.ITEMSPEC,
       PO_D.UMORD,
       PO_D.ACTQY,
       PO_D.POISQ,
       PV.VENDOR,
       PV.VNDNAM,
       PO_H.CURCY,
       PO_D.UNITP,
       PO_T.ECDNO,
       PC_PACN_LIST.PRICE,
       (PC_PACN_LIST.PRICE-PO_D.UNITP) AS BALANCE
    from
       IPPOHM AS PO_H,
       IPPODM AS PO_D,
       IPAVM  AS PV,
       IPPOTM AS PO_T,
       PC_PACN_LIST
    WHERE
       PO_D.ORDNO = PV.VORDNO
       AND
       PO_H.ORDNO =PO_D.ORDNO
       AND
       PO_D.ORDNO


相关文档:

SQL PLUS 命令大全(转)

Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。
   我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行 ......

oracle中sql loader的用法

sql loader 工具它可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据有点麻烦。
在DOC下面输入:sqlldr userid=user/password@sid control=result.ctl
例子:
SQLLDR USERID=zero/zero@ORACLE CONTROL ......

SQL Server 2008新特性-数据压缩

数据压缩(Data Compression)是SQL Server 2008引入的新特性之一,这项技术使数据更有效的保存并且极大减少了存储开销,同时也带来了性能上的显著提高,尤其是对需要大量磁盘I/O的数据仓库。
 
注:其实在SQL Server 2005 SP2版本中,已经引入了 vardecimal ,它使用变长的格式存储定长的decimal和numberic数据。
......

PL/SQL单行函数和组函数详解

函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:
单行函数、组函数
本文将讨论如何利用单行函数以及使用规则。
 
SQL中的单行函数
SQL和PL/SQL中自带很多类型的函数,有字符、数字、日期、转换、和混合型等多种函 ......

ORACLE中SQL取最后一条记录的几种方法

  在ETL过程中,经常会碰到取结果集的最后或最前一条记录。如取活期存款的当前利率,开户金额,协定利率等。如果不用LOOKUP的方式,如通过游标取或者ETL工具LOOKUP组件什么的,在一条SQL里实现,目前实现有几种方法。
1.以时间或其他字段分组后在自连自己,这样不仅可以带出需要LOOKUP的字段,还可以带出其他需要的字 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号