SQL Server - Novato, eficiencia, procedimientos almacenados

 
Vista:

Novato, eficiencia, procedimientos almacenados

Publicado por Juan Carlos (5 intervenciones) el 26/05/2009 21:15:55
Hola,

Si paso todo mi SQL dinámico a procedimientos almacenados (o stored procedures) ganaré en velocidad? Eso se da simplemente al crear los procedimientos o debo hacer algo más para lograr el incremento de performance?

Estoy desarrollando en visual basic .net.

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:Novato, eficiencia, procedimientos almacenados

Publicado por roger (173 intervenciones) el 26/05/2009 22:14:18
si pasas las consultas que tienes de sql en tu codigo a procedimiento almacenado, ganaras en velocidad y posiblemente en administracion (si lo deseas), y en mantenimiento, y en quien sabe que mas. Pues si ya tienes tu base de datos creada con el diseño que te parecio mejor, no tienes que hacer nada mas, simplemente crea los procedimientos almacenados.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Novato, eficiencia, procedimientos almacenados

Publicado por Juan Carlos (5 intervenciones) el 26/05/2009 22:25:10
Gracias Roger! resulta que he seguido leyendo, y encontré que una vez que se ejecuta el procedimiento almacenado el motor cachea el plan para no tener que volver a compilarlo las siguientes veces. Hay alguna manera de que cuando arranque la aplicación le diga al motor "compila estos procedimientos"? Mi idea es precompilar 2 o 3 que son claves. (facturación)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

aclaración

Publicado por Juan Carlos (5 intervenciones) el 26/05/2009 22:26:33
Precompilarlos para que cuando se los corra la primera vez ya estén "eficientizados"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

RE:aclaración

Publicado por roger (173 intervenciones) el 27/05/2009 00:13:05
pero por que lo quieres hacer desde la aplicacion????, una vez los corras desde sql server, ya quedan en la caché de procedimientos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:aclaración

Publicado por Juan Carlos (5 intervenciones) el 27/05/2009 15:49:48
No, no me explico: por lo que me dices, una vez que se corre por primera vez el procedimiento, este ya queda en la cache de procedimientos por lo que se gana en velocidad de respuesta del motor. Pero todavía hay que compilarlo esa primera vez. Bueno, yo quería saber como hacer eso, si había alguna forma de decirle al motor: "compila estos procedimientos, que en cualquier momento los llamo".

Tal vez mi confusión venga de: se los compila únicamente la primera vez que se los ejecuta? o se los compila la primera vez que se los ejecuta, a cada vez que arranca el servidor?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Novato, eficiencia, procedimientos almacenados

Publicado por Edwin (12 intervenciones) el 27/05/2009 03:21:55
Hola Juan Carlos

segun tu pregunta sobre que debes de hacer para tener performance
segun como dice cuando una consulta se ejecuta se almacena en el pool de memora asignado para sql server especificamente en el procedure cache, sql administra esa parte de la memoria, a la hora de ejecutar tu consulta se ejecuta el query optimazer para sql sepa como el la mejor manera de devolverte los datos. pero esto no sirver de nada
si tu tabla es grande y no tiene indices , ya que si no tiene indice la columna donde lanzas el where sql se ara un table scan osea se revisara toda latabla registro por registo y eso es muy lento a conparacion de buscar por indice. Te recomiendo que investiges sobre indices clustered y noclustered.

saludos cualquier consulta manda me un correo

Edwin
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Novato, eficiencia, procedimientos almacenados

Publicado por Juan Carlos (5 intervenciones) el 27/05/2009 16:03:21
Me resulta interesante eso de los índices. Como creo los índices desde el management express? Y después ha que mantenerlos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar