2010-11-24 6 views
2

Nous avons la table de base de données UploadedFiles où beaucoup de fichiers (400k pour le moment) sont stockés.Stocker beaucoup de fichiers dans la base de données

Aurions-nous des avantages de performance si nous déplaçons des données de fichier réelles (champ varbinary) dans un tableau distinct?

+0

Quelle est la taille de chaque fichier s'il vous plaît? – gbn

Répondre

3

Vous pouvez utiliser des partitions et placer ce champ dans une partition différente. Voici quelques liens de référence:

Note Lors de la création de partitions pour optimiser les performances, placez chaque partition sur des disques physiques différents.

http://msdn.microsoft.com/en-us/library/ms345146%28SQL.90%29.aspx

http://databases.about.com/od/sqlserver/a/partitioning.htm


OU enregistrer le fichier dans le système de fichiers et conserver une référence à l'emplacement dans un champ varchar.

+0

+1 pour stocker une référence à l'emplacement du fichier. C'est généralement la solution la plus simple. – Matt

1

Si vous êtes sur SQL Server 2000/2005 et ne pas filestream disponibles, ne pas oublier à propos de la possibilité de créer des groupes de fichiers et des fichiers de données séparés.

Configuration des groupes de fichiers utilisateur et leur placement sur des disques physiques distincts (ou LUN) à partir d'objets de base de données système pour améliorer les performances. Cela vous donne également plus de flexibilité avec les opérations de sauvegarde et de restauration. Plus d'infos ici:

http://blogs.msdn.com/b/buckwoody/archive/2009/05/21/sql-server-best-practices-setting-a-default-filegroup.aspx

Questions connexes