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


相关文档:

C#打包SQL数据库部署安装

参考《ASP.NET与SQL一起打包部署安装》,这篇文章是针对VB.NET与SQL 一起打包的,但是我使用的是C#,当然只要修改一下主要安装类库就行了!C#的类库代码如下:DBCustomAction.cs
using System;
using System.Collections;
using System.Data.SqlClient;
using System.ComponentModel;
using System.Configuration.Install; ......

用于分页显示的SQL文

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

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

  在ETL过程中,经常会碰到取结果集的最后或最前一条记录。如取活期存款的当前利率,开户金额,协定利率等。如果不用LOOKUP的方式,如通过游标取或者ETL工具LOOKUP组件什么的,在一条SQL里实现,目前实现有几种方法。
1.以时间或其他字段分组后在自连自己,这样不仅可以带出需要LOOKUP的字段,还可以带出其他需要的字 ......

sql中截取和算出字符串的长度

et ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER function [dbo].[Get_StrArrayLength]
(
 @str varchar(1024),  --要分割的字符串
 @split varchar(10)  --分隔符号
)
returns int
as
begin
 declare @location int
 declare @start int
 declare @length int
&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号