mySQL中索引index詳解

2021-08-27 22:54:15 字數 2002 閱讀 1243

索引

mysql 索引(index)

注意:1、不要過度索引

2、索引條件列(where後面最頻繁的條件列)

3、盡量索引雜湊值,過於集中的值不要索引。

索引型別

1、普通索引(index):僅僅是加快查詢速度

2、唯一索引(unique index):行上的值不能重複

3、主鍵索引(primary key):主鍵不能索引

主鍵索引必定是唯一的,唯一索引不一定是主鍵,

一張表上只能乙個主鍵,可以有乙個或者多個唯一索引。

4、全文索引(fulltext index):在mysql 預設情況下對於中文作用不大。

檢視 一張表上的索引

show index from 表名(/g可以橫著顯示)

索引不知道名稱預設以索引的列名作索引

建立索引

alter table 表名add index/unique/fulltext [索引名](列名)

[索引名]可以不寫 ,不寫預設與列名相同。

alter table 表名add primary key (列名)

建立索引示例:

為 tel列 建立普通索引

為email列 新增唯一索引

為intro列新增全文索引

為id列新增主鍵

刪除索引

alter  table drop index 索引名

示例:刪除email(唯一)索引

刪除主鍵索引 

全文索引使用

檢視匹配度

select 列名, match (索引) against (『 索引詞』) from表名;

新發現 as  支援 漢字

全文停止字:

全文索引,不針對非常頻繁的詞,做索引。

針對漢語意義不大,因為因為英文單詞可以依賴空格等標點來判斷單詞界限,進而對單詞進行索引,而中文mysql無法識別單詞界限。

以下表列出了預設的全文停止字 :

a'sable

about

above

according

accordingly

across

actually ...

注意!!換伺服器匯入資料:

大資料量時,先把索引去掉,匯入後,統一加上索引。

索引加快查詢速度,降低增刪改的速度。

額外:show create table  表名

可以檢視  建立表的語句

發現問題

使用全文索引時加上引擎 ,預設 innodb引擎,不支援,會報錯

詳細:

MySQL的索引(Index)詳解

索引分類 1 普通索引 key indexes 2 唯一索引 unique indexes 3 主鍵索引 primary key indexes 4 組合索引 composite index 5 字首索引 prefix indexes 6 全文索引 full text indexes 7 雜湊索引 ...

關於MySQL索引index雜談

mysql建索引命令 create index index name on tablename clomun name.比如建了 create index o n p d on t db netspeed o,n,p,d 建好索引之後,使用select 命令進行查詢 select count fro...

mysql整理12 索引index整理

為了提高查詢排序的速度 索引需要單獨檔案來儲存維護。表資料發生變化需要維護索引表。適合新增索引的情況 表資料量足夠大 增刪改操作較少 高基數列1.可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。2.通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。3.可以加速表和表之間的連線。4....