SHOW INDEX
Синтаксис
SHOW {INDEX | INDEXES | KEYS}
FROM tbl_name [FROM db_name]
[WHERE expr]
Описание
SHOW INDEX возвращает информацию об индексе таблицы. Формат аналогичен вызову SQLStatistics в ODBC.
Вы можете использовать db_name.tbl_name в качестве альтернативы синтаксису tbl_name FROM db_name. Эти два оператора эквивалентны:
SHOW INDEX FROM mytable FROM mydb; SHOW INDEX FROM mydb.mytable;
SHOW KEYS и SHOW INDEXES являются синонимами SHOW INDEX.
Вы также можете перечислить индексы таблицы с помощью команды mariadb-show:
mariadb-show -k db_name tbl_name
Таблица information_schema.STATISTICS хранит аналогичную информацию.
Следующие поля возвращаются SHOW INDEX.
| Поле | Описание |
|---|---|
Table |
Имя таблицы |
Non_unique |
1 если индекс допускает дубликаты значений, 0 если значения должны быть уникальными. |
Key_name |
Имя индекса. Первичный ключ всегда имеет имя PRIMARY. |
Seq_in_index |
Последовательность столбца в индексе, начиная с 1. |
Column_name |
Имя столбца. |
Collation |
Либо A, если столбец отсортирован по возрастанию в индексе, либо NULL, если он не отсортирован. |
Cardinality |
Оценённое количество уникальных значений в индексе. Статистика по кардинальности рассчитывается в разное время и может помочь оптимизатору принять лучшие решения. |
Sub_part |
NULL если весь столбец включен в индекс, или количество включённых символов, если нет. |
Packed |
NULL если индекс не упакован, в противном случае, как упакован индекс. |
Null |
NULL если разрешены значения NULL в столбце, пустая строка, если значения NULL не разрешены. |
Index_type |
Тип индекса, который может быть BTREE, FULLTEXT, HASH или RTREE. См. Типы индексов хранилища. |
Comment |
Дополнительная информация, например, о том, отключён ли индекс. |
Index_comment |
Содержание атрибута COMMENT при создании индекса. |
Ignored |
Будет ли индекс проигнорирован оптимизатором. См. Игнорируемые индексы. От MariaDB 10.6.0. |
Операторы WHERE и LIKE могут быть использованы для выбора строк с более общими условиями, как описано в Расширенном SHOW.
Примеры
CREATE TABLE IF NOT EXISTS `employees_example` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(30) NOT NULL,
`last_name` varchar(40) NOT NULL,
`position` varchar(25) NOT NULL,
`home_address` varchar(50) NOT NULL,
`home_phone` varchar(12) NOT NULL,
`employee_code` varchar(25) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `employee_code` (`employee_code`),
KEY `first_name` (`first_name`,`last_name`)
) ENGINE=Aria;
INSERT INTO `employees_example` (`first_name`, `last_name`, `position`, `home_address`, `home_phone`, `employee_code`)
VALUES
('Mustapha', 'Mond', 'Chief Executive Officer', '692 Promiscuous Plaza', '326-555-3492', 'MM1'),
('Henry', 'Foster', 'Store Manager', '314 Savage Circle', '326-555-3847', 'HF1'),
('Bernard', 'Marx', 'Cashier', '1240 Ambient Avenue', '326-555-8456', 'BM1'),
('Lenina', 'Crowne', 'Cashier', '281 Bumblepuppy Boulevard', '328-555-2349', 'LC1'),
('Fanny', 'Crowne', 'Restocker', '1023 Bokanovsky Lane', '326-555-6329', 'FC1'),
('Helmholtz', 'Watson', 'Janitor', '944 Soma Court', '329-555-2478', 'HW1');
SHOW INDEXES FROM employees_example\G
*************************** 1. row ***************************
Table: employees_example
Non_unique: 0
Key_name: PRIMARY
Seq_in_index: 1
Column_name: id
Collation: A
Cardinality: 6
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
Index_comment:
Ignored: NO
*************************** 2. row ***************************
Table: employees_example
Non_unique: 0
Key_name: employee_code
Seq_in_index: 1
Column_name: employee_code
Collation: A
Cardinality: 6
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
Index_comment:
Ignored: NO
*************************** 3. row ***************************
Table: employees_example
Non_unique: 1
Key_name: first_name
Seq_in_index: 1
Column_name: first_name
Collation: A
Cardinality: NULL
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
Index_comment:
Ignored: NO
*************************** 4. row ***************************
Table: employees_example
Non_unique: 1
Key_name: first_name
Seq_in_index: 2
Column_name: last_name
Collation: A
Cardinality: NULL
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE
Comment:
Index_comment:
Ignored: NO
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/show-index/