asp - asp.net - aspcode.it
Domande sul forumCerca un argomento nel forum
Vai a :



Forum - SQL e Database

consiglio performance Stored Procedure

karmo
scritto il 10/5/2011 08:55:30

Messaggi Scritti : 2

ciao a tutti
sto per mettere mano ad una stored procedure lunga ben 1500 righe per cercare di migliorare i tempi di calcolo; ho visto che ci sono un sacco di cursori, anche innestati, e pensavo di sostituirli perchŔ ho letto da qualche parte che questi oggetti possono usare molte risorse, anche se alla fine ciascun di questi ha come record una o due righe come risultato della select.
In alcuni casi quindi posso sostituire il cursore con una semplice query del tipo

SELECT TOP 1 @colona = colonnaT FROM Tabella Where ... order by id desc

ma in alcuni casi ho bisogno di gestire un record alla volta di una tabella, esempio:

DECLARE cmpCur CURSOR FOR
SELECT VL.IDNumber, VL.LaidType AS DispType, MT.Manufacturer, MT.WallThickness,
MR.HeatNumber, MR.Length
,VL.WeldID,VL.Component, VL.Extension, VL.Remarks, VL.Remarks2,VL.NDTExtension
FROM dbo.V_LAY_List VL
LEFT JOIN (dbo.MainRegistry MR INNER JOIN dbo.MaterialTypes MT ON MR.Component = MT.Component AND MR.MaterialType = MT.MaterialType)
ON VL.Component = MR.Component AND VL.IDNumber = MR.IDNumber AND VL.Extension = MR.Extension
WHERE VL.Location = @Location AND VL.DocNumber = @DocNumber
ORDER BY VL.LineItem ASC;

e cosi via ...
qui
http://blog.sqlauthority.com/2010/02/16/sql-server-stored-procedure-optimization-tips-best-practices/
si consiglia di usare un ciclo while ma mi sembra abbastanza complicato, che ne dite se usassi una tabella temporanea?? Ŕ meglio o peggio? o Ŕ meglio una tabella del DB creata al volo e poi rimossa?
ciao e grazie


Inviva una mail a karmo
  Pagina :  ]1[ 
Rispondi alla Discussione  
ASPCode Forum v.2.7b    

Ciao , oggi è il 23/11/2017, e sono le ore 08:41:26
In questo momento ci sono 0 utenti on-line e 6473 ospiti.
Messaggi inseriti oggi: 0
Totale argomenti inseriti: 8121
Totale messaggi inseriti: 28060
ArgomentoAttivo.
Argomento Chiuso.
Argomento Nuovo.
Totale utenti registrati : 10987
Ultimo utente registrato : ta69
Non sei loggato al forum, se vuoi farlo clicca qui, se non sei ancora registrato al forum e vuoi farlo clicca qui.

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 6473
AspIn.com
UtilitÓ
Link

Utenti connessi: 6473