Je développe un logiciel qui stocke beaucoup de données dans une de ses tables de base de données (SQL Server version 8, 9 ou 10). Disons qu'environ 100 000 enregistrements sont insérés dans cette table par jour. Cela représente environ 36 millions d'enregistrements par an. De peur de perdre en performance, j'ai décidé de créer une nouvelle table chaque jour (une table dont le nom contient la date du jour) pour réduire le nombre d'enregistrements par table.
Pouvez-vous me dire si c'était une bonne idée ? Y a-t-il une limite d'enregistrement pour les tables du serveur SQL ? Ou savez-vous combien d'enregistrements (plus ou moins) peuvent être stockés dans une table avant que les performances ne diminuent de manière significative ?
36 votes
"Les programmeurs perdent énormément de temps à penser ou à s'inquiéter de la vitesse des parties non critiques de leurs programmes, et ces tentatives d'efficacité ont en fait un impact négatif important lorsque le débogage et la maintenance sont pris en compte. Nous devrions oublier les petits gains d'efficacité, disons environ 97% du temps : l'optimisation prématurée est la racine de tous les maux. Pourtant, nous ne devrions pas laisser passer nos chances dans ces 3% critiques". Knuth 1974
1 votes
Mots vrais, mauvais endroit. Un indicateur pour savoir si une partie d'un programme est "critique" ou non, est que son exécution peut influencer de manière significative les performances de mon application. Donc, même s'il est vrai que les développeurs s'inquiètent des mauvaises choses la plupart du temps (je ne sais pas), celle-ci n'est définitivement pas une de ces mauvaises choses.