Je suis un développeur dans l'âme - mais de temps en temps, un client n'a pas un DBA décent pour faire face à ces problèmes, alors je suis appelé à décider ...
Quelles sont vos stratégies / meilleures pratiques en ce qui concerne le traitement d'une base de données SQL Server de taille raisonnable (quelque chose de plus grand que Northwind ou AdventureWorks; environ 2 à 4 Go de données plus des index, etc.) - utilisez-vous plusieurs fichiers / groupes de fichiers?
Si oui: combien? Et pourquoi?
Quels sont vos critères pour décider quand vous éloigner de l'approche "un groupe de fichiers pour tout":
* database size?
* database complexity?
* availability / reliability requirements?
* what else?
Si vous utilisez plusieurs groupes de fichiers, combien en utilisez-vous? Un pour les données, un pour l'index, un pour le journal? Plusieurs (combien) pour les données? Quelles sont les raisons de votre choix - pourquoi utilisez-vous ce nombre exact de groupes de fichiers :-)
Merci pour tous les conseils, pointeurs, pensées!
À la vôtre, Marc
La décision de diviser une base de données en différents groupes de fichiers doit être prise après avoir analysé la taille actuelle et la croissance future de vos tables. À mon avis, à moins que vous n'ayez une grande base de données ou des tables avec des millions de lignes, vous devriez soigneusement considérer les avantages et les inconvénients, car vous risquez de créer plus de problèmes de performances que vous n'en corrigez.
Il y a quelques scénarios qui pourraient être intéressants sous certaines prémisses:
Vous devez analyser votre environnement pour décider si les groupes de fichiers vous aideront avec vos besoins de croissance, d'utilisation et de performances SQL Server.
Quelques indicateurs clés pour passer à plusieurs groupes de fichiers (à partir de cet article ):
Si vous constatez que les groupes de fichiers pourraient améliorer les performances de votre base de données, écrivez le code et testez le processus dans un environnement intermédiaire avant d'implémenter les modifications sur vos serveurs de production. Préparez quelques mesures avant d'appliquer les modifications et comparez-les avant / après. Étant donné que ces processus peuvent nécessiter beaucoup de ressources et de temps, effectuez ces procédures pendant une période de maintenance.
N'oubliez pas, lors de la création de nouveaux objets (tables et index), assurez-vous que les objets sont créés dans le groupe de fichiers correct pour garantir les performances attendues et valider périodiquement les objets de base de données se trouvent dans les groupes de fichiers corrects et corrigez si nécessaire.
la source