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]

Preguntas similare

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]


.

Respuesta Responder a este mensaje
#2 Ricardo Uribe
08/05/2004 - 00:28 | Informe spam
Si mira es que esa tabla la paro llenando de datos que migro de otra tabla y
esa tabla tiene algunos
Numeros de Movimiento repetidos por esa razon no puedo crear aun un PK,
porque el sistema que
estoy haciendo aun esta en prueba al final cuando migre todo en serio se
supone que van a estar sin
Numeros Repetidos.

He mandado otro mensaje donde adjunto los archivos que me falto poner.




"orlando" escribió en el mensaje
news:a0d901c43480$1ff38dd0$
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]
>
>
>.
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida