資料庫索引

2021-10-03 02:41:01 字數 1613 閱讀 7116

作用 :

分類 :

主鍵 : 某乙個屬性組能唯一標識一條記錄

特點 :

作用 : 避免同乙個表中某資料列中的值重複

與主鍵索引的區別

作用 : 快速定位特定資料

注意 :

作用 : 快速定位特定資料

注意 :

/*

#方法一:建立表時

create table 表名 (

欄位名1 資料型別 [完整性約束條件…],

欄位名2 資料型別 [完整性約束條件…],

[unique | fulltext | spatial ] index | key

[索引名] (欄位名[(長度)] [asc |desc])

);#方法二:create在已存在的表上建立索引

create [unique | fulltext | spatial ] index 索引名

on 表名 (欄位名[(長度)] [asc |desc]) ;

#方法三:alter table在已存在的表上建立索引

alter table 表名 add [unique | fulltext | spatial ] index

索引名 (欄位名[(長度)] [asc |desc]) ;

#刪除索引:drop index 索引名 on 表名字;

#刪除主鍵索引: alter table 表名 drop primary key;

#顯示索引資訊: show index from student;

*//*增加全文索引*/

alter table `school`.`student` add fulltext index `studentname` (`studentname`)

;/*explain : 分析sql語句執行效能*/

explain select * from student where studentno=

'1000'

;/*使用全文索引*/

explain select *from student where match

(studentname)

against

('love'

);

#我們可以在建立上述索引的時候,為其指定索引型別,分兩類

hash型別的索引:查詢單條快,範圍查詢慢

btree型別的索引:b+樹,層數越多,資料量指數級增長(我們就用它,因為innodb預設支援它)

#不同的儲存引擎支援的索引型別也不一樣

innodb 支援事務,支援行級別鎖定,支援 b-tree、full-text 等索引,不支援 hash 索引;

myisam 不支援事務,支援表級別鎖定,支援 b-tree、full-text 等索引,不支援 hash 索引;

memory 不支援事務,支援表級別鎖定,支援 b-tree、hash 等索引,不支援 full-text 索引;

ndb 支援事務,支援行級別鎖定,支援 hash 索引,不支援 b-tree、full-text 等索引;

archive 不支援事務,支援表級別鎖定,不支援 b-tree、hash、full-text 等索引;

資料庫 資料庫索引

索引是儲存引擎用於快速找到記錄的一種資料結構。索引以檔案的形式儲存在磁碟中。索引可以包含乙個或多個列的值。儲存引擎查詢資料的時候,先在索引中找對應值,然後根據匹配的索引記錄找到對應的資料行。1.b tree索引 2.雜湊索引 myisam和innodb儲存引擎 只支援btree索引,也就是說預設使用...

資料庫mysql索引 資料庫 mysql索引

mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...

資料庫索引

索引 索引列唯一索引 主鍵索引 聚簇索引和非聚簇索引 如何建立索引 如何刪除索引 使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構,例如 employee 表的姓 lname 列。如果要按姓查詢特定職員,與必須搜尋表中的所有行相比,索引會幫助您更快地獲得該資...