2009-07-29 7 views

Répondre

5

C'est relativement cher. Chaque extraction que vous exécutez implique un aller-retour du contexte à travers le modèle vers le magasin persistant, ce qui implique un accès au fichier. Au mieux, votre recherche sera aussi lente que l'accès au fichier du magasin. Dans certains cas (en particulier en cherchant de gros BLOB binaires), il sera considérablement plus lent. Aller chercher avec précaution. Toutefois, rappelez-vous qu'un chargement n'est pas aussi cher que le déclenchement d'un défaut. Vous devriez vous inquiéter plus sur le déclenchement des défauts pour accéder aux données que vous devriez faire des extractions supplémentaires. En outre, l'exécution d'un ou de plusieurs extractions de grande taille est considérablement moins coûteuse que l'exécution de plusieurs petites extractions (un peu comme accéder à un gros fichier est plus facile que d'accéder à une centaine de petites). La meilleure politique est d'essayer d'anticiper lors de la conception de votre application quelles données seront nécessaires, puis de la récupérer en une fois ou en quelques grandes récupérations et de la mettre en cache aussi longtemps que possible.

6

Comme pour la plupart des choses, la pré-optimisation n'est jamais une bonne chose. S'en sortir est rarement le goulot d'étranglement pour une application et quand il est, il apparaîtra très rapidement.

En général, je ne me préoccupe pas de la performance des extractions, ni même de la défaillance, jusqu'à ce que je remarque un problème de performance. Ensuite, il est temps pour les optimisations.

Jusqu'à ce que vous ayez assemblé l'application et que vous exécutiez des données sur le matériel réel, il est assez difficile, et généralement inutile, de deviner l'emplacement des goulots d'étranglement. Construire, tester et observer.

Questions connexes