欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql查看索引的方式

 更新時間:2023年09月05日 09:51:56   作者:牟云飛  
這篇文章主要介紹了mysql查看索引的方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

mysql查看索引

1、查看數(shù)據(jù)庫所有索引

SELECT * FROM mysql.`innodb_index_stats` a WHERE a.`database_name` = '數(shù)據(jù)庫名';

2、查看某一表索引

SELECT * FROM mysql.`innodb_index_stats` a WHERE a.`database_name` = '數(shù)據(jù)庫名' and a.table_name like '%表名%';

或者

通過命令窗口show index from tb1001_container;

mysql查看索引語句:SHOW INDEX講解

概述

SHOW INDEX語句是MySQL中用于查看表索引信息的語句。

它提供了有關(guān)表中索引的詳細信息,包括索引名稱、索引類型、關(guān)聯(lián)的列等。

以下是SHOW INDEX的詳細說明:

語法

SHOW INDEX FROM table_name [FROM db_name] [WHERE condition];

參數(shù)說明 

  • table_name:需要查詢索引的表名。
  • db_name:(可選)數(shù)據(jù)庫名。如果你已經(jīng)在某個數(shù)據(jù)庫上下文中,可以省略此參數(shù)。
  • condition:(可選)可以添加WHERE子句來篩選索引信息,比如根據(jù)索引名稱、索引類型等進行篩選。

SHOW INDEX語句返回以下信息

  • table:表名。
  • non_unique:是否允許重復值。如果值為1,表示允許重復值;如果值為0,表示不允許重復值(唯一索引)。
  • key_name:索引名稱。主鍵索引名通常為PRIMARY。
  • seq_in_index:索引中的列的序號。對于組合索引,這表示列在索引中的位置。
  • column_name:列名,索引涉及的列。
  • collation:排序規(guī)則。A表示升序,NULL表示不可排序。
  • cardinality:索引的基數(shù)。這是一個估算值,表示索引中唯一值的數(shù)量。這個值對于查詢優(yōu)化器選擇索引非常重要。
  • sub_part:索引的前綴長度。對于部分索引,這表示索引的前綴長度。
  • packed:索引是否被壓縮。如果索引未被壓縮,該列的值為NULL。
  • null:列是否允許包含NULL值。
  • index_type:索引類型。常見的類型有BTREE、HASH、FULLTEXT等。
  • comment:索引的備注。

示例

下面是一個名為examples的表,其中包含各種類型的索引:主鍵索引、唯一索引、普通索引、前綴索引和聯(lián)合索引。

CREATE TABLE examples (
  id INT AUTO_INCREMENT,
  name VARCHAR(255),
  description TEXT,
  category VARCHAR(255),
  price DECIMAL(10, 2),
  PRIMARY KEY (id),
  UNIQUE KEY idx_name (name),
  KEY idx_category (category),
  KEY idx_category_price (category, price),
  KEY idx_name_prefix (name(10))
) ENGINE=InnoDB;

在這個示例中,我們創(chuàng)建了一個名為examples的表,包含以下類型的索引:

  • 主鍵索引(PRIMARY KEY):id列是主鍵索引。主鍵索引要求唯一且不允許NULL值。
  • 唯一索引(UNIQUE KEY):name列是唯一索引。唯一索引要求唯一,但允許NULL值。
  • 普通索引(KEY):category列是普通索引。普通索引允許重復值和NULL值。
  • 聯(lián)合索引(KEY):category和price列組成了一個聯(lián)合索引。這允許根據(jù)這兩個列的組合進行更快的查詢。
  • 前綴索引(KEY):name列的前10個字符被用作前綴索引。前綴索引允許在索引較長的字符串列時節(jié)省存儲空間和提高查詢速度,但可能會影響查詢準確性。

現(xiàn)在,使用SHOW INDEX語句查詢examples表的索引信息:

SHOW INDEX FROM examples;

輸出結(jié)果(以表格形式表示):

在SHOW INDEX的輸出中,你可以看到examples表的各種類型索引:

  • 主鍵索引(PRIMARY KEY):在key_name列中,PRIMARY關(guān)鍵字表示該行對應的是主鍵索引。non_unique列的值為0,說明主鍵索引的值必須是唯一的。在此例中,主鍵索引是id列。
  • 唯一索引(UNIQUE KEY):在key_name列中,自定義的索引名稱(例如idx_name)表示這是一個唯一索引。non_unique列的值為0,說明唯一索引的值必須是唯一的,但允許NULL值。在此例中,唯一索引是name列。
  • 普通索引(KEY):在key_name列中,自定義的索引名稱(例如idx_category)表示這是一個普通索引。non_unique列的值為1,說明普通索引允許重復值和NULL值。在此例中,普通索引是category列。
  • 前綴索引(KEY):前綴索引的識別方法與普通索引相同,但在sub_part列中有一個值,表示使用列值的前多少個字符作為前綴索引。在此例中,idx_name_prefix是一個前綴索引,它將name列的前10個字符作為索引。
  • 聯(lián)合索引(KEY):聯(lián)合索引可以通過key_name列中的相同索引名稱以及不同的seq_in_index值來識別。在seq_in_index列中,數(shù)字表示列在聯(lián)合索引中的順序。在此例中,idx_category_price是一個聯(lián)合索引,包括category和price兩個列。

在這兩行中,key_name列的值都是idx_category_price,表明它們屬于同一個索引。

seq_in_index列的值分別為1和2,表示category和price這兩個列在聯(lián)合索引中的順序。 

注意,SHOW INDEX語句及返回的結(jié)果列可能會因MySQL版本的不同而有所差異。

本解釋基于MySQL 8.0版本。在其他版本中,返回的結(jié)果列可能有所不同。要獲取與您的MySQL版本對應的詳細信息,請查閱官方文檔。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論