83 messaggi dal 30 luglio 2003
Ciao a tutti. La domanda che vorrei porvi riguarda in parte questo script:
nello script si utilizza una tabella di appoggio #p per salvare i dati estratti e poi dividerli in pagine. Cosa succede se 2 utenti utilizzano la stored procedure contemporaneamente?

Sulla guida del Visual Studio c'è scritto:
"Se viene creata una tabella temporanea locale in una stored procedure o in un'applicazione che può essere eseguita contemporaneamente da più utenti, è necessario poter contraddistinguere le tabelle create dai vari utenti. A tale scopo a ogni nome di tabella temporanea locale viene aggiunto un suffisso numerico. Il nome completo di una tabella temporanea archiviata nella tabella sysobjects in tempdb è composto dal nome di tabella specificato nell'istruzione CREATE TABLE e dal suffisso numerico generato dal sistema. Per il supporto del suffisso, l'argomento table_name specificato per un nome temporaneo locale non può superare i 116 caratteri."

Non so se mi sono spiegato.

Ciao
nel db temp, viene creata una tabella che in realtà non ha nome p, ma p_19827246423, ad esempio, ovvero con una sequenza di numeri casuali, per evitare conflitti nel caso più utenti accedono.

un altro sistema è usare la variable table, che sono tabelle in memoria e non prevedono l'accesso al disco.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
83 messaggi dal 30 luglio 2003
Intanto grazie per la risposta  .

Vorrei sapere quale dei due metodi risulta essere più performante. Immagino che l'utilizzo della variabile table vada bene per pochi dati ed accessi contemporanei non troppo elevati.

Grazie
l'uso della variabile consuma memoria, dunque è indicata se non hai un sottosistema disco performante, oppure hai tanta memoria da poter sfruttare

l'uso delle temp table invece ha problemi nella frequenza con cui accedi al disco, oltre al fatto che con molti utenti potresti rallentare l'app.

ho notato, su macchine ben carrozzate di ram, che l'uso della variable table è leggermente più veloce, anche in presenza di molti utenti, perchè non viene messo in mezzo un disco, dato che non viene creata una tabella su disco, nel db temp

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.