Velocidad de Consulta

08/05/2004 - 00:00 por Ricardo Uribe | Informe spam
Hola Grupo quisiera que me ayuden con la velocidad de mi consulta, es mi
kardex
aqui les pongo las Estructuras de mis tablas Documento y Movimientos que son
el Encabezado
y los Detalles de los Movimientos.

Tambien adjunto dos archivos una (MovimientosCompletos.txt) es una consulta
donde uno los
todos los tipos de Movimientos, la otra (ProcAl.txt) contiene el
Procedimiento Almacenado
donde saco el Saldo de los Articulos.

El Procedimiento funciona bien, salvo algunos articulos, pero el problema es
la velocidad, por
ejemplo trate de sacar el movimiento de un articulo y se demoro 3 minutos en
darme su historia
de Movimientos y solo me devolvio 700 registros.

A parte necesito saldos de varios articulos para sacar otros reportes, y por
ejemplo si necesito sacar
el saldo de 30 o 40 Articulos, pues se demoraria una vida.

Bueno tambien me recomendaron relacionar las tablas para aumentar la
velocidad, quisiera saber si eso
aumenta considerablemente la velocidad en las consultas.

CREATE TABLE [dbo].[Documento] (
[NumeroMovimiento] [float] NULL ,
[TipoDocumento] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[NumeroDocumento] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[FechaDocumento] [smalldatetime] NULL ,
[AlmacenOrigen] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[AlmacenDestino] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[TipoMovimiento] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[FechaMovimiento] [smalldatetime] NULL ,
[CodigoCliente] [float] NULL ,
[CodigoProveedor] [float] NULL ,
[BDOCPORDES] [float] NULL ,
[Estado] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[CantidadTotal] [float] NULL ,
[CantidadInf] [float] NULL ,
[CodigoCotizacion] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[PrecioTotal] [float] NULL ,
[PrecioInf] [float] NULL
) ON [PRIMARY]

CREATE TABLE [dbo].[Movimientos] (
[NumeroMovimiento] [nvarchar] (7) COLLATE Modern_Spanish_CI_AS NULL ,
[CodigoArticulo] [nvarchar] (12) COLLATE Modern_Spanish_CI_AS NULL ,
[FechaMovimiento] [smalldatetime] NULL ,
[TipoMovimiento] [nvarchar] (1) COLLATE Modern_Spanish_CI_AS NULL ,
[Cantidad] [decimal](10, 2) NULL ,
[AlmacenOrigen] [nvarchar] (2) COLLATE Modern_Spanish_CI_AS NULL ,
[AlmacenDestino] [nvarchar] (2) COLLATE Modern_Spanish_CI_AS NULL ,
[CodigoMovimiento] [nvarchar] (1) COLLATE Modern_Spanish_CI_AS NULL ,
[Precio] [decimal](10, 2) NULL ,
[TipoDocumento] [nvarchar] (1) COLLATE Modern_Spanish_CI_AS NULL ,
[NumeroDocumento] [nvarchar] (10) COLLATE Modern_Spanish_CI_AS NULL ,
[CodigoCotizacionA] [nvarchar] (7) COLLATE Modern_Spanish_CI_AS NULL
) ON [PRIMARY]
 

Leer las respuestas

#1 orlando
08/05/2004 - 00:10 | Informe spam
Tendrias que generar indice por el campo que tenes que
acceder, eso acelera la consulta, pero tene en cuenta que
la actualizacion la lentifica, ademas un PK en mas
efectivo, que por lo que veo no tenes en tus tablas
Hola Grupo quisiera que me ayuden con la velocidad de mi


consulta, es mi
kardex
aqui les pongo las Estructuras de mis tablas Documento y


Movimientos que son
el Encabezado
y los Detalles de los Movimientos.

Tambien adjunto dos archivos una


(MovimientosCompletos.txt) es una consulta
donde uno los
todos los tipos de Movimientos, la otra (ProcAl.txt)


contiene el
Procedimiento Almacenado
donde saco el Saldo de los Articulos.

El Procedimiento funciona bien, salvo algunos articulos,


pero el problema es
la velocidad, por
ejemplo trate de sacar el movimiento de un articulo y se


demoro 3 minutos en
darme su historia
de Movimientos y solo me devolvio 700 registros.

A parte necesito saldos de varios articulos para sacar


otros reportes, y por
ejemplo si necesito sacar
el saldo de 30 o 40 Articulos, pues se demoraria una vida.

Bueno tambien me recomendaron relacionar las tablas para


aumentar la
velocidad, quisiera saber si eso
aumenta considerablemente la velocidad en las consultas.

CREATE TABLE [dbo].[Documento] (
[NumeroMovimiento] [float] NULL ,
[TipoDocumento] [nvarchar] (255) COLLATE


Modern_Spanish_CI_AS NULL ,
[NumeroDocumento] [nvarchar] (255) COLLATE


Modern_Spanish_CI_AS NULL ,
[FechaDocumento] [smalldatetime] NULL ,
[AlmacenOrigen] [nvarchar] (255) COLLATE


Modern_Spanish_CI_AS NULL ,
[AlmacenDestino] [nvarchar] (255) COLLATE


Modern_Spanish_CI_AS NULL ,
[TipoMovimiento] [nvarchar] (255) COLLATE


Modern_Spanish_CI_AS NULL ,
[FechaMovimiento] [smalldatetime] NULL ,
[CodigoCliente] [float] NULL ,
[CodigoProveedor] [float] NULL ,
[BDOCPORDES] [float] NULL ,
[Estado] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS


NULL ,
[CantidadTotal] [float] NULL ,
[CantidadInf] [float] NULL ,
[CodigoCotizacion] [nvarchar] (255) COLLATE


Modern_Spanish_CI_AS NULL ,
[PrecioTotal] [float] NULL ,
[PrecioInf] [float] NULL
) ON [PRIMARY]

CREATE TABLE [dbo].[Movimientos] (
[NumeroMovimiento] [nvarchar] (7) COLLATE


Modern_Spanish_CI_AS NULL ,
[CodigoArticulo] [nvarchar] (12) COLLATE


Modern_Spanish_CI_AS NULL ,
[FechaMovimiento] [smalldatetime] NULL ,
[TipoMovimiento] [nvarchar] (1) COLLATE


Modern_Spanish_CI_AS NULL ,
[Cantidad] [decimal](10, 2) NULL ,
[AlmacenOrigen] [nvarchar] (2) COLLATE


Modern_Spanish_CI_AS NULL ,
[AlmacenDestino] [nvarchar] (2) COLLATE


Modern_Spanish_CI_AS NULL ,
[CodigoMovimiento] [nvarchar] (1) COLLATE


Modern_Spanish_CI_AS NULL ,
[Precio] [decimal](10, 2) NULL ,
[TipoDocumento] [nvarchar] (1) COLLATE


Modern_Spanish_CI_AS NULL ,
[NumeroDocumento] [nvarchar] (10) COLLATE


Modern_Spanish_CI_AS NULL ,
[CodigoCotizacionA] [nvarchar] (7) COLLATE


Modern_Spanish_CI_AS NULL
) ON [PRIMARY]


.

Preguntas similares