Notre site contient des tableaux de statistiques importants mais simples (INT, INT, DATE). Chaque table a jusqu'à 300 000 000 lignes et s'agrandit chaque jour.
L'hébergeur a suggéré que nous divisions ou partitionnions les tables, et j'ai vu cette recommandation ailleurs à plusieurs reprises.
Toutefois...
J'ai du mal à concilier ce conseil avec la capacité maximale indiquée pour SQL Server - une taille de base de données de 524 272 téraoctets, avec des lignes de table limitées uniquement par le "stockage disponible".
Sur la base de ces chiffres, le tableau décrit ci-dessus pourrait facilement avoir des centillions de rangées (10 à la puissance de 303).
Ah ha vous pourriez dire, il y a une différence entre CAPACITÉ et PERFORMANCE.
Mais dans pratiquement toutes les questions sur les performances de SQL Server, la réponse est "Cela dépend ... de la conception des tables et de la conception des requêtes".
C'est pourquoi je pose cette question. La conception de la table ne pourrait pas être beaucoup plus simple. Les requêtes qui sont de simples opérations de comptage (*) basées sur un champ ID indexé ne le pouvaient pas non plus.
How To Decide if You Should Use Table Partitioning