1. 概述
2. 索引分類
2.1 不同索引的概念
2.1.1 普通索引
2.1.2 唯一索引
2.1.3 全文索引
2.1.4 多列索引
3. 索引操作
3.1 普通索引
3.1.1 建立表時建立普通索引
3.1.2 在已經存在的表上建立普通索引
3.1.3 通過sql語句alter table建立普通索引
3.2 唯一索引
3.2.1 建立表時建立唯一索引
3.2.2 在已經存在的表上建立唯一索引
3.2.3 通過sql語句alter table建立唯一索引
3.3 全文索引
3.3.1 建立表時建立全文索引
3.3.2 在已經存在的表上建立全文索引
3.4.3 通過sql語句alter table建立全文索引
3.4 多列索引
3.4.1 建立表時建立多列索引
3.4.2 在已經存在的表上建立多列索引
3.4.3 通過sql語句alter table建立多列索引
在mysql資料庫中,資料庫物件表是儲存和運算元據的邏輯結構。
資料庫物件索引,則是一種有效組合資料的方式。通過索引物件,可以快速查到資料物件表中的記錄,是提供效能的常用方式。
資料庫物件索引的出現,不僅可以提高資料庫管理系統的查詢速度,而且還可以保證欄位的唯一性,從而實現資料庫表的完整性。
根據索引型別,可以將索引分為b型樹索引(btree)和雜湊索引(hash)。
innodb和myisam儲存引擎支援btree索引型別,memory儲存引擎支援hash索引。預設為前者索引。乙個索引會包含表中按照一定順序排序的一列或者多列字段。索引的基本操作包括:建立,修改,刪除。
索引有6種,分別是:普通索引,唯一索引,全文索引,單列索引,多列索引,空間索引。
索引的建立,有利有弊。建立索引可以提供查詢速度,但是過多的索引會佔據許多磁碟空間。
以下情況適合建立索引:
以下情況不適合建立索引:
普通索引,就是在建立索引時,不新增任何限制條件(唯一,非空等限制)。該型別的索引可以建立在任何資料型別的字段上。
唯一索引,就是建立索引時,限制索引的值必須是唯一的。通過該型別的索引,可以更快第查詢某條記錄。
根據建立索引的方式,可以分為自動索引和手動索引。
自動索引
指的是在資料庫表裡設定完整性約束時,該錶被系統自動建立索引。
手動索引
指的是手動在表上建立索引。
當設定表中的某個字段設定主鍵或者唯一完整性約束時,系統就會自動建立關聯該字段的唯一索引。
全文索引,主要關聯在資料型別為char,varchar,text的字段,以便能夠更加快速地查詢資料量較大的字串型別的字段。
多列索引,指的是建立索引時,所關聯的字段不是乙個字段,而是多個字段。
雖然可以通過所關聯的字段進行查詢,但是只有查詢條件中使用了所關聯的字段中的第乙個字段,多列索引才會被使用。
create table kvmhost ( hostid int(10), hostname char(10), hostmac char(20), hostip char(20), index hostid_index(hostid));
結果如下圖:
mysql資料庫物件索引 MySQL資料庫索引詳解
一 什麼是索引 索引是乙個排序的列表,在這個列表中儲存著索引值和包含這個值的資料所在行的實體地址,在資料十分龐大的時候,索引可以大大加快查詢速度,這是因為使用索引後可以不用全表掃瞄來定位某行的資料,而是先通過索引表找到該行資料對應的實體地址然後訪問相應的資料。索引通過不斷縮小想要獲取資料的範圍來篩選...
mysql資料庫物件索引 Mysql資料庫索引
說白了,索引問題就是乙個查詢問題。資料庫索引,是資料庫管理系統中乙個排序的資料結構,以協助快速查詢 更新資料庫表中資料。索引的實現通常使用b樹及其變種b 樹。在資料之外,資料庫系統還維護著滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用 指向 資料,這樣就可以在這些資料結構上實現高階查詢演算...
資料庫mysql索引 資料庫 mysql索引
mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...