1

Notre système actuel a été architecturé comme;Les tables en mémoire de SqlServer peuvent-elles remplacer le cache ASP.NET?

Nous avons environ 5 millions d'enregistrements dans une table DB. Selon le besoin, nous obtenons, disons un ensemble de résultats de 1 million d'enregistrements et les gardons en cache dans toute l'application, quand nous avons fini, nous nous en débarrassons. Maintenant, au lieu d'utiliser la mémoire de l'application .NET, "Est-il possible d'utiliser des tables en mémoire pour conserver ces 1 million d'enregistrements dans une table en mémoire alors que la table disque conserve encore 5 millions d'enregistrements?"

Répondre

1

C'est possible. Les performances seront toujours inférieures à celles des données en cours. L'une des choses les plus coûteuses à faire lors de l'exécution d'une instruction SQL bon marché est tout le temps nécessaire pour exécuter quoi que ce soit (réseau, sérialisation, ...).

Vous aurez besoin de mesurer (ou avoir une bonne compréhension de) si la performance maintenant réduite est encore suffisante.

Si le système existant fonctionne sans problème, il n'est pas nécessaire de changer quoi que ce soit.

+0

Sommes-nous censés gérer cela, chaque fois comme "Sélectionnez dans ...". Tout mécanisme intégré pour accomplir cela, juste pour l'automatiser? – Jude

+0

Rien automatisé là. En outre, vous trouverez que Hekaton nécessite plus de travail à mettre en œuvre que les autres tables. Si vous voulez économiser du temps, cette option n'est pas si attrayante. Si vous développez plus sur vos objectifs de performance et les requêtes que vous exécutez, je pourrais être en mesure de recommander quelque chose – usr

0

SQL Server dispose déjà d'algorithmes de mise en cache avancés. Quelle est la taille de votre table? 5 millions de lignes ne sont pas si grandes ces jours-ci, la table entière peut être déjà mise en mémoire cache et vous pouvez simplement utiliser des requêtes SELECT par clé primaire.