最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL索引概念及七種索引類型分享介紹

 更新時(shí)間:2022年08月22日 10:00:57   作者:劉Java  
這篇文章主要介紹了MySQL索引概念及七種索引類型分享介紹,索引是存儲(chǔ)引擎用于快速找到記錄的一種數(shù)據(jù)結(jié)構(gòu),這也是索引最基本的功能

1 索引的概念

索引(在MySQL中也叫做“鍵(key)”)是存儲(chǔ)引擎用于快速找到記錄的一種數(shù)據(jù)結(jié)構(gòu),這也是索引最基本的功能。

索引對(duì)于良好的性能非常關(guān)鍵。數(shù)據(jù)量越大時(shí),索引對(duì)性能的影響也越重要,好的索引可以將查詢性能提高幾個(gè)數(shù)量級(jí)。在數(shù)據(jù)量較小且負(fù)載較低時(shí),不恰當(dāng)?shù)乃饕龑?duì)性能的影響可能還不明顯,但是在數(shù)據(jù)量逐漸增大時(shí),糟糕的索引會(huì)使MySQL的性能急劇的下降。

索引優(yōu)化是查詢性能優(yōu)化最有效的手段。

如果想要在一本書中找到某個(gè)特定主題,一般會(huì)先看書的目錄,找到對(duì)應(yīng)的頁碼,然后直接翻到對(duì)應(yīng)的頁碼即可查看。在MySQL中,存儲(chǔ)引擎用類似的方法使用索引,首先在索引中找到對(duì)應(yīng)的值,然后根據(jù)匹配的索引記錄找到對(duì)應(yīng)的數(shù)據(jù)行。簡單的說,數(shù)據(jù)庫索引類似于書前面的目錄,能加快數(shù)據(jù)庫的查詢速度。

如下查詢:

select name from user where user_id = 5  

如果user_id列上建有索引,則MySQL將使用該索引找到user_id 為 5的行,即MySQL現(xiàn)在索引上按值進(jìn)行查找,然后返回包含該值的數(shù)據(jù)行。

索引可以一個(gè)或多個(gè)列的值,如果索引包含多個(gè)列,那么列的順序也很重要,因?yàn)镸ySQL只能高效地使用最左前綴列。

2 索引的類型

按照功能邏輯區(qū)分,MySQL目前主要有以下索引類型:

主鍵索引 :

  • 數(shù)據(jù)列不允許重復(fù),不允許為NULL,一個(gè)表只能有一個(gè)主鍵。
  • ALTER TABLE table_name ADD PRIMARY KEY (column);

普通索引:

  • MySQL中基本索引類型,沒有什么限制,允許在定義索引的列中插入重復(fù)值和NULL值。一個(gè)表允許多個(gè)列創(chuàng)建普通索引。
  • ALTER TABLE table_name ADD INDEX index_name (column);

唯一索引:

  • 索引列中的值必須是唯一的,但是允許NULL值。建立唯一索引的目的大部分時(shí)候都是為了該屬性列的數(shù)據(jù)的唯一性,而不是為了查詢效率。一個(gè)表允許多個(gè)列創(chuàng)建唯一索引。
  • ALTER TABLE table_name ADD UNIQUE (column);

全文索引:

  • 主要是為了快速檢索大文本數(shù)據(jù)中的關(guān)鍵字的信息。字段長度比較大時(shí),如果創(chuàng)建普通索引,在進(jìn)行l(wèi)ike模糊查詢時(shí)效率比較低,這時(shí)可以創(chuàng)建全文索引,基于倒排索引,類似于搜索引擎。MyISAM存儲(chǔ)引擎支持全文索引,InnoDB 存儲(chǔ)引擎在 MySQL 5.6.4 版本中也開始支持全文索引。
  • ALTER TABLE table_name ADD FULLTEXT (column);

前綴索引:

  • 在文本類型如BLOB、TEXT或者很長的VARCHAR列上創(chuàng)建索引時(shí),可以使用前綴索引,數(shù)據(jù)量相比普通索引更小,可以指定索引列的長度,但是數(shù)值類型不能指定。
  • ALTER TABLE table_name ADD KEY(column_name(prefix_length));

組合索引:

  • 指多個(gè)字段上創(chuàng)建的索引,只有在查詢條件中使用了創(chuàng)建索引時(shí)的第一個(gè)字段,索引才會(huì)被使用。使用組合索引時(shí)遵循最左前綴原則。
  • 主鍵索引、普通索引、唯一索引等都可以使用多個(gè)字段形成組合索引。例如,ALTER TABLE table_name ADD INDEX index_name ( column1, column2, column3 );

空間索引 :

  • MySQL在5.7之后的版本支持了空間索引,而且支持OpenGIS幾何數(shù)據(jù)模型。MySQL在空間索引這方面遵循OpenGIS幾何數(shù)據(jù)模型規(guī)則。

到此這篇關(guān)于MySQL索引概念及七種索引類型分享介紹的文章就介紹到這了,更多相關(guān)MySQL索引 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql中包含查詢的五種方法總結(jié)

    mysql中包含查詢的五種方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于mysql中包含查詢的五種方法, 在MySQL中,包含語句是一種用來包含其他查詢語句的語句,通常用在WHERE語句中,需要的朋友可以參考下
    2023-08-08
  • MYSQL無法連接 提示10055錯(cuò)誤的解決方法

    MYSQL無法連接 提示10055錯(cuò)誤的解決方法

    這篇文章主要介紹了MYSQL無法連接 提示10055錯(cuò)誤的解決方法,需要的朋友可以參考下
    2016-12-12
  • mysql 8.0.11壓縮包版本安裝教程

    mysql 8.0.11壓縮包版本安裝教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0.11壓縮包版本安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 聊聊MySQL的COUNT(*)的性能

    聊聊MySQL的COUNT(*)的性能

    這篇文章主要介紹了聊聊MySQL的COUNT(*)的性能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • M1芯片安裝mysql8.0數(shù)據(jù)庫的實(shí)現(xiàn)步驟(圖文)

    M1芯片安裝mysql8.0數(shù)據(jù)庫的實(shí)現(xiàn)步驟(圖文)

    這篇文章主要介紹了M1芯片安裝mysql8.0數(shù)據(jù)庫的實(shí)現(xiàn)實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 詳解MySQL 慢查詢

    詳解MySQL 慢查詢

    這篇文章主要介紹了MySQL 慢查詢的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-07-07
  • mysql 獲取規(guī)定時(shí)間段內(nèi)的統(tǒng)計(jì)數(shù)據(jù)

    mysql 獲取規(guī)定時(shí)間段內(nèi)的統(tǒng)計(jì)數(shù)據(jù)

    這篇文章主要介紹了mysql 獲取規(guī)定時(shí)間段內(nèi)的統(tǒng)計(jì)數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • SQLyog的下載、安裝、破解、配置教程(MySQL可視化工具安裝)

    SQLyog的下載、安裝、破解、配置教程(MySQL可視化工具安裝)

    SQLyog是一款MySQL可視化工具,他可以將部分SQL操作通過圖形化界面操作來完成,方便開發(fā)者更好的進(jìn)行開發(fā)及數(shù)據(jù)庫設(shè)計(jì),這篇文章主要介紹了SQLyog的下載、安裝、破解、配置(MySQL可視化工具安裝),需要的朋友可以參考下
    2022-09-09
  • MySQL Replace INTO的使用

    MySQL Replace INTO的使用

    今天DST里面有個(gè)插件作者問我關(guān)于Replace INTO和INSERT INTO的區(qū)別,我和他說晚上上我的blog看吧,那時(shí)候還在忙,現(xiàn)在從MYSQL手冊(cè)里找了點(diǎn)東西,MYSQL手冊(cè)里說REPLACE INTO說的還是比較詳細(xì)的.
    2008-04-04
  • MySQL  Lock wait timeout exceeded錯(cuò)誤解決

    MySQL  Lock wait timeout exceeded錯(cuò)誤

    “Lock wait timeout exceeded” 是一個(gè)常見的MySQL錯(cuò)誤,指示了潛在的性能問題或死鎖,本文就來介紹一下如何解決,感興趣的可以了解一下
    2024-05-05

最新評(píng)論

双峰县| 康马县| 营山县| 潞城市| 兰溪市| 马龙县| 汤原县| 江川县| 郴州市| 武陟县| 汾阳市| 合阳县| 龙井市| 罗平县| 会泽县| 临澧县| 徐水县| 仁布县| 卢氏县| 新平| 裕民县| 项城市| 五家渠市| 鹿泉市| 蓬莱市| 乐亭县| 五峰| 德安县| 长汀县| 柳河县| 永善县| 广州市| 安国市| 莱州市| 抚远县| 河西区| 漳平市| 色达县| 丰台区| 昌黎县| 含山县|