MySQL - 索引



索引是一種資料結構,它可以提高資料庫表操作的速度。它們是一種特殊的查詢表,指向資料。索引可以在一個或多個列上建立,為快速隨機查詢和有效排序訪問記錄提供了基礎。

但是,索引會降低表上 INSERT 和 UPDATE 操作的效率。這是因為當我們在表中插入或更新資料值時,也需要相應地修改索引。因此,它們並不總是適合使用。

使用者看不到索引,它們只是用於加速查詢,並將被資料庫搜尋引擎用於非常快速地定位記錄。

MySQL索引型別

索引可以在 MySQL 表的一個或多個列上定義。在表列上新增索引的決定取決於需要搜尋的資料型別。MySQL 提供以下型別的索引:

  • 簡單索引

  • 唯一索引

  • 主鍵索引

  • 全文索引

  • 降序索引

簡單索引

簡單索引是一種基本型別的索引,其中可以輕鬆搜尋插入到包含此索引的列中的值。在這種情況下,列可以包含重複值或 NULL 值。

唯一索引

唯一索引不允許將任何重複值插入到表列(在該列上定義了索引)中。它可以新增到表的單個列或多個列。如果將其新增到單個列,則該列的值必須唯一。但是,如果將其新增到多個列,則這些列中值的組合必須唯一。

主鍵索引

主鍵索引是唯一索引的擴充套件,因為主鍵列必須始終包含唯一值,並且這些值不能為 NULL。主鍵可以設定為資料庫表的單個列,也可以設定為多個列(不推薦)。

全文索引

在資料庫中,有時您需要搜尋文字塊而不是記錄。您可以為此使用全文索引。顧名思義,它用於使表的文字搜尋更容易。

降序索引

降序索引僅在 8.0 之後版本的 MySQL 中可用。它是一個簡單的索引,用於以反向順序儲存資料。使用此索引,可以輕鬆搜尋插入到資料庫表中的最新值。

廣告