易截截图软件、单文件、免安装、纯绿色、仅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 语句进行 ......

启动PL/SQL Developer 报字符编码不一致错误

错误如下:
Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different.
Character set conversion may cause unexpected results.
Note: you can set the client character set through the NLS_LANG environment variable or the NLS_LANG registry key in
HKEY_LOCAL_MACHINE\SOFTWARE\ ......

連接遠程SQL(轉)

Window 2003 SQL2000远程连接的问题解决办法2008年10月07日 星期二 15:31一 看ping 服务器IP能否ping通。
  这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。
  二 在Dos或命令行下输入telnet 服务器IP 端口,看 ......

用于分页显示的SQL文

原址 http://technet.microsoft.com/ja-jp/library/cc411406.aspx
 
看了一篇SQL2005关于Transact-SQL的强化技能的介绍,觉得很有用处,简单总结了一下。
 
(一)数据库做成
USE tempdb – 或者新建一个DB
CREATE TABLE SpeakerStats
(
  speaker      &n ......

SQL查询语句精华使用简要

  一、 简单查询
  简单的Transact-SQL查询只包括选择列表、from子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。
  例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。
 
  SELECT nickname,email
  from testtable
  WHERE name=' ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号