434 messaggi dal 08 aprile 2009
Ho una pagina che per esempio deve gestire degli articoli di magazzino.
La pagina è costruita in questo modo:
-Panello con campi per impostare la ricerca
-Panella contenente un GridView con il risultato. Il GridView è composto da colonne e da un PagerTemplate personalizzato per la navigazione.

In PageLoad carico il GridView con tutti i dati che ci sono nella tabella del data base.

Adesso ho un problema di prestazioni in quanto la mia tabella contiene 9.000 record e:
1) ci mette tanto non la lettura sul data base ma la fase di rendering della pagina
2) dopo aver atteso e visualizzato la pagina quando clicco su qualsiasi bottone mi appare il messaggio di errire di IE
"impossibile visualizzare la pagina Web".

Non fa piùPostPack nè nient'altro.
Immagino che sia un problema di sovraccarico...come posso risolvere il problema?

Qualcuno mi dirà di fare delle letture selezionando per esempio i primi 100 ma non va bene per il mio caso in quanto questo è solo un esempio ma ci saranno funzioni che dovrenno gestire molti più dati...
Il fatto che il server vada giù (impossibile visualizzare la pagina) è strano... accade anche quando recuperi pochi dati? hai verificato dal EventLog di windows se ti crasha il worker process di asp.net e come mai?

In secondo luogo, che senso ha mostrare 9000 record in una pagina? Qualcuno li leggerà mai tutti? Hai idea quanto sia difficoltoso anche solo scorrerli?

Quindi il mio consiglio "funzionale" è: paginazione e un buon sistema di ricerca.

Ciao,
m.
434 messaggi dal 08 aprile 2009
1)Con una Select TOP 1000 non va in errore.
2)I dati nel GridView sono paginati, ne visualizzo 5/10/20/30 (secondo la selezione dell'utente) per volta, ma nel datasource collego l'intero set di dati.

Come si fa a vedere l'EventLog di windows?
Beh, non ha molto senso recuperare 9000 righe per mostrarne 20, non trovi? Fossi in te utilizzerei una paginazione a livello di query per recuperare solo le righe che effettivamente mostri.

Ciao,
m.
434 messaggi dal 08 aprile 2009
Si questo è vero...
Però nel caso in cui dovessi mostrare effettivamente 9.000 record non si può ovviare a questo problema? o ho cmq delle limitazioni?
Il mondo è pieno di limitazioni

Ripeto, secondo me non è una buona soluzione a prescindere, perchè sprechi risorse, l'applicazione non scala, il server crasha e tutto per mostrare dei dati di cui un utente leggerà l'1% se va grassa (sono pur sempre 90 righe!!)

Ciao,
m.
434 messaggi dal 08 aprile 2009
Ho utilizzato la tua soluzione...faccio il paging a livello di query.

Grazie per la soluzione :)

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.
In primo piano

I più letti di oggi

Media
In evidenza
MISC