存储过程中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
相关文档:
Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。
我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行 ......
错误如下:
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\ ......
Window 2003 SQL2000远程连接的问题解决办法2008年10月07日 星期二 15:31一 看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。
二 在Dos或命令行下输入telnet 服务器IP 端口,看 ......
原址 http://technet.microsoft.com/ja-jp/library/cc411406.aspx
看了一篇SQL2005关于Transact-SQL的强化技能的介绍,觉得很有用处,简单总结了一下。
(一)数据库做成
USE tempdb – 或者新建一个DB
CREATE TABLE SpeakerStats
(
speaker &n ......
一、 简单查询
简单的Transact-SQL查询只包括选择列表、from子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。
例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。
SELECT nickname,email
from testtable
WHERE name=' ......