Pourquoi seulement un index cluster par table doit être créé dans sql server?
J'ai lu des conseils sur la base de données sql server sur http://www.sql-server-performance.com/2007/clustered-indexes
Dans la section conclusion de l'auteur est mentionné:
"Puisque vous ne pouvez créer un index cluster par table, prenez le temps supplémentaire pour examiner attentivement la manière dont il sera utilisé."
Ma question est:
*Pourquoi seulement un index cluster par table doit être créé dans sql server? *
Parce que c'est physiquement impossible de passer une commande d'un tableau en fonction de deux ordres différents. Plus d'informations ici: use-the-index-luke.com/blog/2014-01/...
Cela s'applique à plus SGBD
Cette question semble être hors-sujet parce que l'OP n'a pas montré tout l'effort de recherche.
Cela s'applique à plus SGBD
Cette question semble être hors-sujet parce que l'OP n'a pas montré tout l'effort de recherche.
OriginalL'auteur Hadi Sharifi | 2014-01-30
Vous devez vous connecter pour publier un commentaire.
Index Cluster:
Index cluster définit la façon dont les données sont ordonnées physiquement sur le disque.
Et il ne peut être une façon que vous pouvez commander les données physiquement.
Par conséquent, il ne peut être un index cluster par table.
Pourquoi se soucient de l'index cluster?
Si nous avons mis l'index cluster sur la table, alors que les données sont récupérées beaucoup plus rapide parce que sql server n'est pas de lire l'ensemble des données -- Dépend de la requête.
Mais la récupération de données est beaucoup plus rapide.
REMARQUE: Bien que vous pouvez créer plus d'un index Non ordonné en Clusters sur une seule table.
OriginalL'auteur Punter015
C'est tout simplement SQL Server de la mise en œuvre de la décision. Théoriquement, il y a peut être n'importe quel nombre de clustering index. MongoDB et MyISAM ont pas de clustering d'index et de stocker des données dans un fichier plat. InnoDB de MySQL a un indice de clustering, la clé primaire, ce qui peut être caché si une clé primaire n'est pas déclaré. TokuDB pour MySQL et TokuMX (qui je travaille) permettent à l'utilisateur de disposer de plusieurs clusters indices, avec l'implicite compromis étant plus d'espace disque utilisé pour des requêtes plus rapides.
OriginalL'auteur Zardosht Kasheff
Parce que l'index cluster est la façon dont les données dans le tableau est ordonné quand il est écrit sur le disque. En d'autres termes, l'index cluster est la table.
C'est aussi pourquoi vous ne pouvez pas spécifier des colonnes incluses sur un index cluster - parce que, par sa nature, toutes les colonnes sont déjà inclus.
OriginalL'auteur paulH
Un index cluster trie et stocke les lignes de données dans la table basée sur les valeurs clés de l'index. Par conséquent, seul un index cluster peut être créé sur chaque table, car les lignes de données ne peuvent être triées dans un ordre.
Pour créer un index cluster sur le même tableau, modifier la
Create as Clustered
paramètre de propriété sur l'index cluster existant avant la création de la deuxième indice.OriginalL'auteur N J
VOUS LE POUVEZ! (indirectement)
Si vous avez besoin de plusieurs index cluster sur une table, vous pouvez créer la vue indexée sur la table. Mais dans le même temps, vous devez être conscient que l'index cluster a toujours un coût.
OriginalL'auteur Pei
Un index cluster de déterminer l'ordre physique des données dans la table , c'est comme une adresse de domicile, c'est pourquoi nous doit avoir qu'une seule adresse à la maison , si ce n'est le facteur se confondre.
http://msdn.microsoft.com/en-us/library/aa933131.aspx
OriginalL'auteur Ahmed Amoumene