2010-12-03 4 views
0

J'ai lu pas mal d'articles sur les tables de partitionnement. J'ai les questions suivantes actuellement liées au partitionnement dans sql server 2005 -Des questions avec le partitionnement dans sql server 2005?

  1. Je suis fondamentalement vouloir le faire pour que les insertions seront plus rapides sur cette table est-ce vrai?
  2. Est-ce que mes requêtes sur le côté C# ou n'importe où par rapport à cette table changent partout si je partitionne une table en 4 partitions? Ou est-ce transparent?
  3. Existe-t-il d'autres moyens d'accélérer les inserts sur la table?
  4. Existe-t-il un article simple où je peux juste savoir comment je peux partitionner une table existante en x partitions basées sur les valeurs d'identification? J'ai trouvé ceci article.
  5. Y a-t-il d'autres façons de le faire que l'édition entreprise du serveur sql?

Répondre

2

1 - Ceci est une question délicate car elle dépend. Le partitionnement doit être fait sur une colonne indexée, donc cela peut être un peu plus rapide car l'index n'aurait pas besoin d'être reconstruit sur toute la table. Le partitionnement est vraiment plus là pour aider à accélérer les requêtes de sélection, pas pour insérer des requêtes. L'opération de sélection sera effectuée séparément sur chaque partition, puis les résultats seront agrégés pour vous. Avant SQL 2005, il était possible de le faire manuellement, mais il n'était pas aussi optimisé.

2 - Le changement est entièrement transparent.

3 - Honnêtement les moins indices que vous avez plus vite un insert fonctionnera.

4 - This est une excellente ressource, tout comme this. Fondamentalement, si vous avez déjà des données, vous devez recréer la table avec les partitions puis charger les données de l'ancienne table vers la nouvelle et rétablir vos relations.

5 - Vous pouvez faire manuellement le partage avec plusieurs tables avec une vue au-dessus de ces tables pour joindre les tables ensemble pour obtenir vos données. Ceci est connu comme une vue partitionnée et comment le partitionnement a été fait dans SQL 2000.