J'ai une table qui contient peut-être 10k à 100k lignes et j'ai besoin de différents ensembles jusqu'à 1 ou 2 mille lignes, mais assez souvent beaucoup moins. Je veux que ces requêtes soient aussi vite que possible et je voudrais savoir quelle approche est généralement plus intelligent:N'importe quelle base de données SQL: quand est-il préférable de récupérer une table entière au lieu d'interroger des lignes particulières?
- Toujours requête pour exactement les lignes dont j'ai besoin avec une clause WHERE qui est différent tout le temps.
- Charger la table entière dans un cache en mémoire dans mon application et y effectuer une recherche, synchroniser le cache régulièrement
- Toujours interroger toute la table (sans clause WHERE), laisser le serveur SQL gérer le cache (c'est toujours la même requête donc il peut mettre en cache le résultat) et filtrer la sortie au besoin
Je voudrais être agnostique d'un moteur de DB spécifique pour l'instant.
C'était en fait Knuth qui l'a dit. :-) –