Mysql之索引的基本概念

2021-08-20 01:42:37 字數 1369 閱讀 2582

一、索引是什麼?

比如我們要在字典中找某一字,如何才能快速找到呢?那就是通過字典的目錄。

對資料庫來說,索引的作用就是給『資料』加目錄。  

二、索引演算法

設有n條隨機記錄,不用索引,平均查詢n/2次,那麼用了索引之後呢?

tree(二叉樹)索引    log2n

hash(雜湊)索引  1

三、優缺點

優點:加快了查詢的速度(select)

缺點:降低了增刪改的速度(update/delete/insert)

增加了表的檔案大小(索引檔案甚至可能比資料檔案還大)

四、索引的使用原則

不過得使用索引;

索引條件列(where後面最頻繁的條件比較適宜索引)

索引雜湊值,過於集中的值不要索引

例如:給性別列 』男『,』女『加索引,意義不大

五、索引型別

1.普通索引:僅僅是加快了查詢速度

2.唯一索引:行上的值不能重複

3.主鍵索引:不能重複

主鍵索引和唯一索引的區別:主鍵必唯一,但是唯一索引不一定是主鍵;

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

4.全文索引:fulltext index

六、檢視某張表上的所有索引

show index from tablename [\g,如果是在cmd視窗,可以換行];

七、建立索引

alter table 表名 add index/unique/fulltext [索引名](列名) ;  ---索引名可不寫,不寫預設使用列名

alter table 表名 add primary key(列名)    --不要加索引名,因為主鍵只有乙個

八、刪除索引

刪除非主鍵索引

alter table 表名 drop index 索引名;

刪除主鍵索引:

alter table 表名 drop primary key;

九、案例

設有一張新聞表 15列,10列上有索引,共500w行資料,如何快速匯入?

1.把空表的索引全部刪除

2.匯入資料

3.資料匯入完畢後,集中建索引

十、全文索引與停止詞

全文索引的用法:

match(全文索引名) against('keyword');

關於全文索引的停止詞:

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

如:this,is,you,my等等

全文索引在mysql的預設情況下,對於中文意義不大。

因為英文有空格,標點符號來拆成單詞,進而對單詞進行索引;

而對於中文,沒有空格來隔開單詞,mysql無法識別每個中文詞。

可以使用sphinx外掛程式來進行全文索引的中文索引。

mysql索引的概念和作用 索引的基本概念及作用

索引 是乙個資料結構,用來快速訪問資料庫 或者檢視裡的資料,需要儲存空間。資料庫的索引的原理 主要用於提高查詢效率,也就是按條件查詢的時候,先查詢索引,或者檔案裡的不同位置的結構。索引會降低資料更新的效率,當插入 修改 刪除時會引起索引結構的更新 建立索引 create unique index i...

MySQL索引基本概念和操作

資料庫最常見的訪問方式就是順序訪問和索引訪問。乙個表最多可有16個索引,最大 索引長度是256個位元組。順序訪問就是一行一行的瀏覽表,非常浪費時間,效率低。索引訪問只是讀取那些表現了所需特性的行,就像目錄,只需要看所需要的章節,而不是從第一頁開始找。索引是對資料庫表中一列或多列的值進行排序的一種結構...

MySQL 基本概念

mysql 是最流行的開源資料庫系統,可執行於幾乎所有的作業系統平台。在 mysql 安裝 一文中詳解介紹了安裝步驟,並且安裝 phpmyadmin 來管理 mysql 資料庫系統。在安裝完 mysql 資料庫系統後,系統會預設建立乙個名為 test 的資料庫 database 我們也可以建立多個資...