Spec-Zone.ru › MariaDB

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

См. также

  • Игнорируемые индексы
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API