db2 "select * from syscat.indexes where tabname = 'your table name here' \
and tabschema = 'your schema name here'"
13
Vous pouvez également exécuter:
DESCRIBE INDEXES FOR TABLE SCHEMA.TABLE SHOW DETAIL
1
Vous pouvez obtenir les détails de l'index avec la commande ci-dessous.
describe indexes for table schemaname.tablename show detail
1
Pour voir tous les indices :-
select * from user_objects
where object_type='INDEX'
À voir index et ses colonnes sur le tableau :
select * from USER_IND_COLUMNS where TABLE_NAME='my_table'
1
Cela dépend de la version de DB2 vous utilisez.
Nous avons v7r1m0 et la requête suivante fonctionne très bien.
WITH IndexCTE (Schema, Table, Unique, Name, Type, Columns) AS
(SELECT i.table_schema, i.Table_Name, i.Is_Unique,
s.Index_Name, s.Index_Type, s.column_names
FROM qsys2.SysIndexes i
INNER JOIN qsys2.SysTableIndexStat s
ON i.table_schema = s.table_schema
and i.table_name = s.table_name
and i.index_name = s.index_name)
SELECT *
FROM IndexCTE
WHERE schema = 'LIBDEK'
AND table = 'ECOMROUT'
Si vous n'êtes pas familier avec CTE, il est bon de connaître. Notre AS400 les conventions de nommage sont mauvais, alors j'ai été en utilisant la CTE est de normaliser les noms de champ. J'ai fini par faire une bibliothèque de la CTE et elle s'ajouter automatiquement au-dessus de toutes mes requêtes.
1
Pour obtenir l'index d'une table DB2 - Cloud d'IBM (précédemment DashDb sur Bluemix) la requête suivante devrait le faire:
SELECT * FROM SYSIBM.SYSINDEXES WHERE TBNAME = 'my_tablename' AND TBCREATOR = 'my_table_schema'
Vous pouvez également exécuter:
Vous pouvez obtenir les détails de l'index avec la commande ci-dessous.
Pour voir tous les indices :-
À voir index et ses colonnes sur le tableau :
Cela dépend de la version de DB2 vous utilisez.
Nous avons v7r1m0 et la requête suivante fonctionne très bien.
Si vous n'êtes pas familier avec CTE, il est bon de connaître. Notre AS400 les conventions de nommage sont mauvais, alors j'ai été en utilisant la CTE est de normaliser les noms de champ. J'ai fini par faire une bibliothèque de la CTE et elle s'ajouter automatiquement au-dessus de toutes mes requêtes.
Pour obtenir l'index d'une table DB2 - Cloud d'IBM (précédemment DashDb sur Bluemix) la requête suivante devrait le faire:
SELECT * FROM SYSIBM.SYSINDEXES WHERE TBNAME = 'my_tablename' AND TBCREATOR = 'my_table_schema'
Voir:
https://www.ibm.com/support/knowledgecenter/en/SSEPEK_10.0.0/sqlref/src/tpc/db2z_sql_explain.html
Une autre façon est de générer le DDL de la table.
Il vous donnera la description complète de la table, y compris index.
Juste un clic droit sur le tableau et cliquez sur générer DDL/Scripts.
Fonctionne sur la plupart de la base de données.