Très grande quantité de données sur gridview dans asp.net

J'ai une grande quantité de données (une requête sql avec 20000 dossiers) et le remplissage de mon datagrid avec cette quantité de données prend environ 10 minutes, c'est ma gridview définition:

<asp:GridView ID="g" runat="server" Height="113px" Width="817px" 
BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" 
CellPadding="3" GridLines="Vertical" AllowPaging="True" Font-Size="Small" 
     PageSize="30">
    <AlternatingRowStyle BackColor="#DCDCDC" />
    <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
    <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
    <RowStyle BackColor="#EEEEEE" ForeColor="Black" />
    <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
    <SortedAscendingCellStyle BackColor="#F1F1F1" />
    <SortedAscendingHeaderStyle BackColor="#0000A9" />
    <SortedDescendingCellStyle BackColor="#CAC9C9" />
    <SortedDescendingHeaderStyle BackColor="#000065" />
    <PagerStyle cssClass="gridpager" HorizontalAlign="Left" />  

</asp:GridView>

Comme vous pouvez le voir je l'ai activé sur true, les cases à cocher allowcustompaging propriété.

C'est la façon dont je la liaison de données:

DataSet dts = new DataSet();
OracleDataAdapter oad = new OracleDataAdapter(query, co.conn);

cmd.CommandText = query;
cmd.CommandType = CommandType.Text;

cmd.CommandText = query;
cmd.CommandType = CommandType.Text;
OracleDataReader reader = cmd.ExecuteReader();

oad.Fill(dts);


g.DataSource = dts.Tables[0];
g.DataBind();

Comment puis-je améliorer la performance?

Quand je remplir le dataset (oad.De remplissage(dts);) prend 10 minutes pour le remplir. Est-ce parce que j'ai mis les 20000 dossiers à la fois? Est-il possible d'afficher uniquement les 30 premiers enregistrements et de rappeler les données lorsque l'utilisateur de paginer le gridview? Est-il une autre manière d'améliorer les performances?

Combien de temps la requête pour retourner les résultats?
Alors, quelle est la question?
où est la question ?
J'ai ajouté plus d'informations dans mon premier post
J'ai ajouté plus d'informations dans mon premier post

OriginalL'auteur Naty Bizz | 2012-07-18