Ciao a tutti. Ho un dataset che all'avvio dell'applicazione viene popolato (tramite DataAdapter) con tutte le tabelle e viste presenti nel mio database (Sql Server 2005).
Tutte le successive interrogazioni,inserimenti ecc vengono effettuate in modalità disconessa x una maggior velocità d esecuzione.I cambiamenti vengono poi salvati nel DB. Il problema che ho riguarda però le viste, in quanto non mi vengono aggiornate se eseguo delle operazioni(in modalità disconnessa) sulle tabelle ad esse collegate. C'è un modo x aggiornarle in automatico, oppure ogni volta che cambio dei dati devo andare a ricaricare i dati dal DB x aggiornare le viste (SELECT * FROM vista) ?
Ciao,

sconsigliandoti vivamente il tuo approccio che, senza offesa, ma mi fa venire i brividi solo a pensarci  , ti dico che se importi le viste dentro a delle DataTable, devi rileggerle

m.
Cradle ha scritto:
Ciao,

sconsigliandoti vivamente il tuo approccio che, senza offesa, ma mi fa venire i brividi solo a pensarci  , ti dico che se importi le viste dentro a delle DataTable, devi rileggerle

m.

Ciao! scusami cm mai i brividi? beh le viste m rendono + facile la vita piuttosto che fare dei join "manuali" tra le datatable... inorridisci limitatamente alle viste o c'è dell'altro? Grazie
No no, le viste sono molto utili! Mi riferivo a
Ho un dataset che all'avvio dell'applicazione viene popolato (tramite DataAdapter) con tutte le tabelle e viste presenti nel mio database (Sql Server 2005)

e in particolare alla parte in grassetto

Magari le dimensioni della tua applicazione ti consentono di farlo, ma ti avverto che non è mai consigliabile portarsi su tutto. Ti basta un DB di mezzo giga e arrivi vicino a saturare la memoria disponibile per il tuo processo.

Ciao!
m.
Ogni volta imparo qualcosa di nuovo... in effetti hai ragione... ma a questo punto allora mi viene da chiedere se ci sia una versione "ottimizzata" del mio caricamento massivo in memoria... lo scopo è di avere un'applicazione reattiva con i dati subito pronti... e penso che caricare i dati da un datatable sia + veloce che leggerli ogni volta dal database? Tu cosa mi consigli? Intanto grazie x le risposte precedenti
Eh, sì, però sai qual è il problema? Non voglio scomodare neanche Amazon o Ebay, ma se ASPItalia ragionasse così non potrebbe esistere

La velocità è sicuramente un aspetto importante dell'applicazione, ma non è tutto e soprattutto non è il più importante: al primo posto si trova la scalabilità, ossia fare in modo che essa si comporti più o meno allo stesso modo sia con un database di 1 MB che con uno di 10 GB, o quando il numero degli utenti (se ad es. si tratta di un'applicazione web) si centuplica.

Ora, è sicuramente vero che accedere ad una datatable è veloce, ma il problema è appunto quello di non poter mettere *TUTTO* dentro un dataset. Ma accedere sempre al database, ogni volta che ci serve un dato è anch'esso dispendioso e una potenziale minaccia per la scalabilità.

La soluzione sta nel mezzo, e si chiama caching! Quindi, se editi il cliente n.27, non aver paura di caricarne il profilo da database, ma ad esempio la DropDownList delle province italiane lasciale in memory, perché non cambiano praticamente mai e ne hai bisogno un po' ovunque.

Ciao

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.