plus de 3 millions d'enregistrements est beaucoup trop à gérer à la fois. Je suppose que vous effectuez une exportation ou quelque chose comme ça qui nécessite que beaucoup de dossiers soient envoyés par le câble. Une méthode que vous pourriez utiliser pour réduire ce problème serait que le niveau intermédiaire génère un fichier d'exportation, puis fournisse ce fichier au client (de préférence compresser d'abord en utilisant ZLIB ou quelque chose de similaire). Si vous rapportez des données au client à des fins de visualisation, pensez à n'envoyer que des informations récapitulatives, puis à permettre au client de creuser une partie des données à la fois. Les utilisateurs vous remercieront parce que votre performance augmentera et ils n'auront pas à fouiller dans les dossiers qu'ils ne regardent pas.
EDIT
Même 300.000 dossiers est trop difficile à gérer à la fois. Si vous aviez autant de penny, seriez-vous capable de les porter tous? Mais si vous l'avez fait en plus grandes dénominations, vous pourriez. Si vous envoyez des données au client pour un rapport, alors je suggère fortement une méthode de résumé ... donnez-leur la grande image et laissez-les forer lentement dans les données. envoyez des données groupées et laissez-les s'ouvrir lentement.
S'il s'agit d'un écran de résultats de recherche, définissez une limite du nombre d'enregistrements à renvoyer +1. Par exemple, pour afficher 100 enregistrements, définissez la limite sur 101. Toujours afficher 100, le dernier enregistrement signifie il y avait plus de 100 enregistrements de sorte que le client doit ajuster ses critères de recherche pour retourner un plus petit sous-ensemble.
erreur pas dans TClientDataSet - il est bug BDE, il est donc TQuery, et il y a 300K dossiers. –