Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Listview collegata a un datasource e record iniziali
mercoledì 01 febbraio 2012 - 13.11
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
|
Windows 7
|
Visual Studio 2010
|
CSS 3.0
|
HTML 5
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
mer 1 feb 2012 - 13:11
Buona sera,
io ho una listview collegata ad un datasource, che a sua volta è collegato ad un tabella di moltissimi record.
Ora vorre che in fase di page load non vengano caricati tutti i record, e mi domandavo quale era la tecnica migliore per limitare inizialmente i record.
Ho pensato a queste soluzioni
1) Fare una top all'interno del datasource, poi in seguito alla creazione dei filtri annullare la top.
2)Non associare inizialmente l'id del datasource alla listview.
Cosa consigliate voi ?
C'è solo un capitano !!!!!!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 1 feb 2012 - 14:18
>Buona sera,
Ciao
>Ora vorre che in fase di page load non vengano caricati tutti
>i record, e mi domandavo quale era la tecnica migliore per limitare
>inizialmente i record.
>Cosa consigliate voi ?
- puoi paginare e far fare le letture al database sotto (è un sql server? che versione?)
- puoi tornare la TOP n direttamente dal database (poi per i filtri puoi fare comunque la TOP n, tanto se filtri male sono sempre tantissimi i record)
non farei fare nulla a client. Perchè è già tardi..
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
mer 1 feb 2012 - 15:38
E' un Sql server 2008.
Quindi mi conviene fare sempre e comunque una top anche quando è' l'utente a filtrare i dati ?
Grazie.
C'è solo un capitano !!!!!!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 1 feb 2012 - 15:53
>Quindi mi conviene fare sempre e comunque una top anche quando
>è' l'utente a filtrare i dati ?
se ne ha veramente tanti, chi mai ne guarderà più di un TOT? è molto importante l'ordinamento piuttosto.
Si tratta di una pagina, non di un report.
Se servono tutti, utilizza infrastrutture atte alla stesura di report. Oppure un export dei dati fatto apposta.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
mer 1 feb 2012 - 15:57
io non mi preoccuperei più di tanto del listview quanto del datasource. Il listview di solito viene utilizzato con un datapager, quindi il carico è in relazione al numero di record che visualizzi per ogni pagina, niente di più.
In merito al TOP bisogna stare attenti però al modo in cui il datasource fa la richiesta dei dati e se utilizza un qualche metodo di cache.
Facendo un esempio ammettiamo che io faccio un TOP dei primi 1000 record e successivamente eseguo un ordinamento (per esempio per ID), sia che lo faccio ascendente che discendente non avrò mai gli ultimi record inseriti...
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 1 feb 2012 - 16:08
>io non mi preoccuperei più di tanto del listview quanto del datasource.
>Il listview di solito viene utilizzato con un datapager, quindi
>il carico è in relazione al numero di record che visualizzi per
>ogni pagina, niente di più.
certo, ha il carico lato client della sola pagina, ma il source che legge dal db fino al "web server" deve comunque ricavare TUTTI i record e poi prepararli paginati..
Comunque il traffico c'è.. e personalmente credo che, siccome si parla di interfaccia web e non di reportistica, sia meglio evitare carichi così eccessivi server to server in multiutenza.
>In merito al TOP bisogna stare attenti però al modo in cui il datasource fa la richiesta dei dati e se utilizza un qualche metodo di cache.
>Facendo un esempio ammettiamo che io faccio un TOP dei primi 1000 record e successivamente eseguo un ordinamento (per esempio per ID), sia che lo faccio ascendente che discendente non avrò mai gli ultimi >record inseriti...
esatto, concordo.. c'è da fare un po' di analisi in questi tipi di situazioni
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
mer 1 feb 2012 - 16:14
ecco si appunto, è un problema più che altro di datasource e rispettiva implementazione. Una cosa è certa, configurerei il datasource in modo che prelevi i dati da un qualche oggetto che fa da cache e non farei fare la chiamata diretta al db ogni volta.
Andrea Restucci - Web Developer
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !