Comment puis-je indexer une colonne de base de données

voix
48

Si tout va bien, je peux obtenir des réponses pour chaque serveur de base de données.

Pour un aperçu de la façon dont les travaux d'indexation vérifier: Comment fonctionne l'indexation de base de données?

Créé 04/08/2008 à 12:21
source utilisateur
Dans d'autres langues...                            


9 réponses

voix
54

Ce qui suit est la norme SQL92 devraient donc être soutenues par la majorité des SGBDR qui utilisent SQL:

CREATE INDEX [index name] ON [table name] ( [column name] )
Créé 04/08/2008 à 12:25
source utilisateur

voix
6

Sql Server 2005 vous donne la possibilité de spécifier un indice de couverture. Ceci est un indice qui comprend des données provenant d'autres colonnes au niveau des feuilles, de sorte que vous n'avez pas à revenir à la table pour obtenir des colonnes qui ne sont pas incluses dans les clés d'index.

créer un index non cluster my_idx sur my_table (my_col1 asc, my_col2 asc) comprennent (my_col3);

Ce qui est inestimable pour une requête qui a my_col3 dans la liste de sélection et my_col1 et my_col2 dans la clause where.

Créé 13/08/2008 à 15:05
source utilisateur

voix
4

Dans SQL Server, vous pouvez effectuer les opérations suivantes: ( MSDN Lien à la liste complète des options.)

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
    ON <object> ( column [ ASC | DESC ] [ ,...n ] ) 
    [ INCLUDE ( column_name [ ,...n ] ) ]
    [ WHERE <filter_predicate> ]

(Sans tenir compte des options plus avancées ...)

Le nom de chaque index doit être large base de données unique.

Tous les index peuvent avoir plusieurs colonnes et chaque colonne peuvent être commandés dans l'ordre que vous voulez.

Les index clusterisés sont uniques - une par table. Ils ne peuvent pas avoir des INCLUDEcolonnes d.

Les index non clusterisés ne sont pas uniques et peuvent contenir jusqu'à 999 par table. Ils peuvent avoir inclus les colonnes et les clauses where.

Créé 15/06/2012 à 19:01
source utilisateur

voix
4

Pour pytables python, les index ne sont pas les noms et ils sont liés à des colonnes:

tables.columns.column_name.createIndex()
Créé 23/01/2012 à 16:13
source utilisateur

voix
2

Vous ne devez indexer les colonnes sur lesquelles vous effectuez une recherche fréquentes / requêtes.

Supposons que vous ayez une table nommée étudiants où vous stockez StudentID, Nom, cours, etc. grade et vous devez rechercher fréquemment la colonne StudentID pour plus d'informations sur les élèves spécifiques.

SELECT Name, Course, Grade

FROM Students

WHERE StudentID = 111025

Vous devez créer un index sur cette colonne, car il permettra d'accélérer le processus de recherche. Vous pouvez créer un index sur une colonne existante avec le code suivant:

CREATE INDEX IndexStudentID

ON Students (StudentID)

Le IndexStudentID nom peut être quelque chose, choisir quelque chose qui ont du sens pour vous.

Cependant, la création d' un index ajoutera un temps supplémentaire à votre base de données. Il existe de nombreux outils qui peuvent aider, par exemple, je me sers SQLDbm comme je me convient le mieux.

Créé 29/08/2017 à 09:53
source utilisateur

voix
2

Pour créer des index suivants choses peuvent être utilisés:

  1. Crée un index sur une table. Les valeurs en double sont autorisés:

    CREATE INDEX nom_index ON nom_table (nom_colonne)

  2. Crée un index unique sur une table. Les valeurs en double ne sont pas autorisés:

    CREATE UNIQUE INDEX nom_index ON nom_table (nom_colonne)

  3. Index cluster

    CREATE INDEX CL_ID CLUSTERED SUR LES VENTES (ID);

  4. index non ordonnés en clusters

    CREATE INDEX NONCLUSTERED NONCI_PC SUR LES VENTES (ProductCode);

reportez - vous http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server pour plus de détails.

Créé 02/06/2015 à 13:38
source utilisateur

voix
1

1.

 CREATE INDEX name_index ON Employee (Employee_Name)
  1. Sur une colonne à plusieurs

    CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)
    
Créé 17/01/2017 à 10:48
source utilisateur

voix
0

Un index est pas toujours nécessaire pour toutes les bases de données. Par exemple: Kognitio aka moteur WX2 ne propose pas une syntaxe pour l'indexation comme le moteur de base de données prend en charge implicitement. Les données se poursuit via le partitionnement round-robin et Kognitio WX2 obtient des données sur disque et hors de la façon la plus simple possible.

Créé 05/06/2018 à 10:24
source utilisateur

voix
0

Étant donné que la plupart des réponses sont données pour les bases de données SQL, je vous écris ceci pour les bases de données NoSQL, en particulier pour MongoDB.

Voici la syntaxe pour créer un index dans la MongoDB en utilisant shell mongo.

db.collection.createIndex( <key and index type specification>, <options> )

Exemple - db.collection.createIndex( { name: -1 } )

Dans l'exemple ci-dessus un indice descendant clé unique est créé sur le champ de nom.

Gardez à l'esprit index MongoDB utilise la structure de données B-tree.

Il existe plusieurs types d'indices , nous pouvons créer dans MongoDB, pour plus d' informations se rapportent à lien ci - dessous - https://docs.mongodb.com/manual/indexes/

Créé 01/06/2018 à 19:05
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more