J'imagine que si vous pouvez configurer la base de données pour qu'elle se rétracte automatiquement et répare au besoin, c'est très rigoureux. C'est pourquoi il y a une pénurie de littérature sur les meilleures pratiques; il y a une hypothèse qui prévaut que cela "fonctionne". Donc, les conseils que vous obtiendrez dans ce domaine seront vagues.
Voici une citation (partielle) d'une diffusion sur le Web à http://www.microsoft.com/web/library/Details.aspx?id=sql-server-2008-compact-express-depoly-manage
la maintenance de votre SQL Server Express Editions est assez similaire à la gestion toute autre base de données multi-utilisateurs, ce qui signifie que nous avons la possibilité de entrer et traiter avec des groupes de fichiers, nous pouvons traiter avec des options de sauvegarde et de récupération modèles et quoi non. [Mais] lorsque nous traitons avec des éditions compactes ou SQL Service CE, nous n'avons pas autant d'options . Vraiment, les seules options que nous avons est comment nous voulons faire face à rétrécir et réparer.
Voici un autre de MSDN à http://msdn.microsoft.com/en-us/library/ms838028.aspx#youcantakeitwithyou_sqlserverce_topic4
avis qu'ils donnent de bons détails sur l'architecture de la base de données, mais ne donnent pas encore un programme d'entretien. Leur conseil: le faire lorsque la base de données commence à devenir lente. Notez également que ce conseil date de 2005 et que les choses se sont améliorées depuis; c'est-à-dire que les procédures de maintenance ont maintenant été automatisées.
Gardez votre maison (ou base de données) pour
Un autre facteur important dans la performance de grandes bases de données dans SQL Server CE 2.0 est l'organisation de la structure de base de données elle-même. Comme votre application modifie le contenu de la base de données , les enregistrements deviennent plus répartis aléatoirement dans la structure de fichier de base de données . Ce facteur est particulièrement vrai après un grand nombre d'insertions et de suppressions . Pour assurer un accès optimal à la base de données, compacter la base de données après toute modification substantielle du contenu.
En plus de récupérer l'espace inutilisé , la réalisation d'une compacte la base de données a deux impacts notables sur performances: d'abord, il stocke tous les enregistrements de la table afin de leur clé primaire ; Deuxièmement, il met à jour les statistiques utilisées par le processeur de requête .
La commande des enregistrements par clé primaire peut notamment améliorer l'accès clé primaire . Cela est dû à la nature orientée page de de SQL Server CE (et la plupart des autres bases de données). Plutôt que le chargement des enregistrements individuels de la base de données en mémoire, SQL Server CE charge des blocs d'enregistrements appelés pages . Lorsque les enregistrements de base de données sont groupés dans l'ordre par clé primaire, chargement de la page contenant un enregistrement charge automatiquement ces enregistrements avec valeurs de clé primaire similaires. Pour la plupart des applications, il en résulte ce qui est appelé un bon « taux » qui signifie que lorsque votre application va accéder à la base de données successives enregistrements, il y a une forte probabilité que la page contenant les enregistrements est- déjà en mémoire et peut être directement accessible. Lorsque les dossiers sont plus distribués au hasard, comme souvent arrive après un grand nombre de insertions et suppressions, il y a un pauvre taux de succès nécessitant CE SQL Server pour récupérer plus de pages à partir du fichier base de données pour accéder au même nombre de enregistrements.
Les statistiques du processeur de requêtes influencent la manière dont le processeur de requêtes détermine la meilleure méthode pour les enregistrements de localisation . Des décisions comme si utiliser une clé ou faire un balayage séquentiel pour localiser un enregistrement particulier sont tous influencés par la requête statistiques du processeur. Comme les statistiques deviennent périmées, il y a une augmentation de la probabilité que le processeur de requête puisse prendre une décision moins optimale . L'exécution d'un compact actualise ces statistiques.
Je sympathise avec votre expérience avec les bases de données Access. Cependant, je pense que vous trouverez que votre expérience avec SQL Server CE ressemble peu.
Vous avez une meilleure chance de poser une question sur http://serverfault.com/ – andychase