mysql 索引簡介

2021-08-15 20:46:55 字數 1562 閱讀 6504

索引

其實資料庫中的資料是按頁存放的

其實索引也是按頁存放的

所以本質上索引也佔硬碟空間(以最小的消耗,換取最大的利益)

索引是一種有效組合資料的方式!為快速查詢到指定記錄做鋪墊

目的就是快速或者某個記錄!提高了資料庫的檢索速度!

作用:大大提高資料庫的檢索速度

改善資料庫效能

mysql索引儲存型別分類

01.b-樹索引:innodb,myisam均支援

02.雜湊索引

其實索引是把雙刃劍(利弊共存),如果使用不當,反而會降低索引效能

主鍵:加快檢索資料/唯一標識

常用索引型別:

01.普通索引:允許在定義為索引的列中 出現 重複值和空值!

02.唯一索引:索引列不允許出現重複值,但是可以出現乙個空值!

03.主鍵索引:建立主鍵的時候,系統會預設建立乙個主鍵索引!唯一!不能為空!

04.復合索引:將我們的多個列組合起來!(name,sid)姓名和身份證號!

05.全文索引:允許值的全文查詢!允許空值和重複值!適合在乙個內容比較多的列!text!

06.空間索引:對空間資料型別的列建立的索引

■按照下列標準選擇建立索引的列

頻繁搜尋的列

經常用作查詢選擇的列

經常排序、分組的列

,經常用作連線的列(主鍵/外來鍵)

■請不要使用下面的列建立索引

僅包含幾個不同值的列

表中僅包含幾行

eg:--  查詢指定表的索引

show index from student;

table:索引所在的表

non_unique:索引是否唯一  0:唯一  1:不唯一

key_name:索引名稱

seq_in_index:該列在索引中的位置

column_name:定義所用的列名稱

null:該列是否為空

index_type:索引型別   

--  給姓名增加 普通索引

create  index index_studentname 

on student(studentname);

-- 給學生姓名和身份證號 增加 組合索引

create index index_name_sid

on student(studentname,identitycard)

--  刪除索引

drop index index_name_sid on  student;

drop  index index_studentname on  student;

--  建立索引的原則

01.經常被查詢的列

02.經常用作選擇的列

03.經常排序,分組的列

04.經常用作連線的列(主鍵/外來鍵)

使用索引時的注意事項:

01.查詢時減少使用*返回全部的列,不要返回不需要的列!

02.索引盡量要少,在位元組數小的列上建立索引!

03.where字句中有多個條件表示式的時候,包含索引的列要放在其他表示式之前!

04.在order by的字句中避免使用表示式!

mysql 索引簡介

索引 是一種特殊的資料結構,可以用來快速查詢資料庫表中的特定記錄.是提高資料庫效能的重要方式.包括普通索引,唯一性索引,全文索引,單列索引,多列索引和空間索引.簡介 由資料庫表中的一列或多列組合而成,起作用是提高對錶中資料的查詢速度.設計原則 1.選擇唯一性索引 唯一性索引的值是唯一的,可以快速通過...

mysql索引簡介

參考資料 索引釋義 索引的分類 索引建立和刪除 索引的情景化應用 索引 index 是幫助mysql高效獲取資料的資料結構。提取句子主幹,就可以得到索引的本質 索引是資料結構。為什麼是索引,而不是直接的資料庫資料本身?查詢演算法只能應用於特定的資料結構,例如二分查詢適用於有序的資料,二叉樹查詢只能應...

mysql 索引簡介

索引是一種資料結構。alter table table name add index index name col mysql中最基本的索引型別,允許在定義列中插入重複值和空值。alter table table name addunique index name col 索引列的值必須唯一,但允許...