Comment indexer une colonne de base de données

J'espère pouvoir obtenir des réponses pour chaque serveur de base de données.

pour un aperçu du fonctionnement de l'indexation, voir: Comment fonctionne l'indexation d'une base de données?

51
demandé sur Community 2008-08-04 15:21:26

9 réponses

ce qui suit est la norme SQL92 donc devrait être pris en charge par la majorité des DGR qui utilisent SQL:

CREATE INDEX [index name] ON [table name] ( [column name] )
57
répondu John Downey 2008-08-04 12:34:51

Sql Server 2005 vous donne la possibilité de spécifier un index de couverture. Il s'agit d'un index qui inclut des données d'autres colonnes au niveau de la feuille, de sorte que vous ne devez pas retourner à la table pour obtenir des colonnes qui ne sont pas inclus dans les touches index.

créer un index non-cluster my_idx sur ma_table (my_col1 asc, my_col2 asc) include (my_col3);

c'est inestimable pour une requête qui a my_col3 dans la liste select, et my_col1 et my_col2 dans la liste select. la clause where.

6
répondu Eric Z Beard 2008-08-13 14:05:26

pour Python pytables, les index n'ont pas de noms et sont liés à des colonnes simples:

tables.columns.column_name.createIndex()
4
répondu tdc 2012-01-23 15:13:48

dans SQL Server, vous pouvez faire ce qui suit: ( lien MSDN à 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> ]

(en ignorant d'autres options avancées...)

le nom de chaque Index doit être unique dans toute la base de données.

Tous les index peuvent avoir plusieurs colonnes, et chaque colonne est triée dans l'ordre que vous voulez.

Les indices regroupés

sont uniques - un par tableau. Ils ne peuvent pas avoir INCLUDE d colonnes.

Les indices

non classés ne sont pas uniques et peuvent avoir jusqu'à 999 par tableau. Ils peuvent avoir inclus des colonnes, et où des clauses.

4
répondu David Manheim 2012-06-15 18:01:12

pour créer des index les éléments suivants peuvent être utilisés:

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

    créer index_name SUR table_name (nom_colonne)

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

    créer index_name SUR table_name (nom_colonne)

  3. Index Cluster

    "CREATE CLUSTERED INDEX CL_ID ON SALES (ID);

  4. index Non-cluster

    CREATE NONCLUSTERED INDEX NONCI_PC ON SALES (ProductCode);

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

2
répondu Sharvari 2015-06-02 13:57:11

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

supposez que vous avez une table appelée Students où vous stockez StudentID, nom, cours, Grade etc. Et vous avez besoin de rechercher fréquemment la colonne StudentID pour des informations sur des étudiants spécifiques.

SELECT Name, Course, Grade

FROM Students

WHERE StudentID = 111025

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

CREATE INDEX IndexStudentID

ON Students (StudentID)

le nom IndexStudentID peut être n'importe quoi, choisissez quelque chose qui a du sens pour vous.

cependant, la création d'un index ajoutera un peu de frais généraux à votre base de données. Il ya beaucoup d'outils qui peuvent aider, par exemple, je suis en utilisant SQLDbm comme je lui convient le mieux.

2
répondu halcosho 2017-08-29 10:13:53

1.

 CREATE INDEX name_index ON Employee (Employee_Name)
  1. sur une colonne multiple

    CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)
    
1
répondu Looking_for_answers 2017-08-29 11:34:27

comme la plupart des réponses sont données pour les bases de données SQL, j'écris ceci pour les bases de données NOSQL, spécifiquement pour MongoDB.

ci-dessous est la syntaxe pour créer un index dans le MongoDB en utilisant le shell mongo.

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

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

dans l'exemple ci-dessus, un index descendant simple est créé sur le nom champ.

gardez à l'esprit MongoDB indexes utilise la structure de données de l'arbre B.

il existe plusieurs types d'index que nous pouvons créer en mongodb, pour plus d'informations, reportez-vous au lien ci - dessous - https://docs.mongodb.com/manual/indexes /

0
répondu mdeora 2018-06-01 19:05:49

un index n'est pas toujours nécessaire pour toutes les bases de données. Par exemple: le moteur Kognitio alias WX2 n'offre pas de syntaxe pour l'indexation car le moteur de base de données s'en occupe implicitement. Les données vont sur via le partitionnement Round-robin et Kognitio WX2 obtient des données sur et Hors disque de la manière la plus simple possible.

0
répondu SriniV 2018-06-05 10:24:47