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

mysql索引原理與用法實(shí)例分析

 更新時間:2020年04月16日 11:09:41   作者:隨風(fēng)行云  
這篇文章主要介紹了mysql索引原理與用法,結(jié)合實(shí)例形式分析了mysql索引的基本概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了mysql索引原理與用法。分享給大家供大家參考,具體如下:

本文內(nèi)容:

  • 什么是索引
  • 創(chuàng)建索引
    • 普通索引
    • 唯一索引
    • 全文索引
    • 單列索引
    • 多列索引
  • 查看索引
  • 刪除索引

首發(fā)日期:2018-04-14


什么是索引:

  • 索引可以幫助快速查找數(shù)據(jù)
  • 基本上索引都要求唯一(有些不是),所以某種程度上也約束了數(shù)據(jù)的唯一性。
  • 索引創(chuàng)建在數(shù)據(jù)表對象上,由一個或多個字段組成,這若干個字段組成“鍵”存儲到數(shù)據(jù)結(jié)構(gòu)中(B樹或者哈希表)?!究梢愿鶕?jù)數(shù)據(jù)結(jié)構(gòu)分類成B樹索引(innodb\myisam引擎),哈希索引(memory引擎)】
  • 由于索引是加快數(shù)據(jù)查找的,所以一般都使用在經(jīng)常需要用來查找的字段上(比如where中常用字段)
  • mysql支持的索引類型有:普通索引、唯一索引、全文索引、單列索引、多列索引、空間索引。

補(bǔ)充:

  • 主鍵與索引的區(qū)別:主鍵也是一種索引,主鍵也是一種唯一索引,但索引的作用主要是提高查找速度,而主鍵作用主要是標(biāo)識記錄唯一性(當(dāng)然也便于查找)。

創(chuàng)建索引:

普通索引:index

  • 普通索引就是沒有“唯一”,“不為空”要求的索引。
  • 語法:
    • create table 表名(字段 數(shù)據(jù)類型,字段 數(shù)據(jù)類型,…index|key [索引名] (字段  [索引的長度] [asc|desc]));
      • index|key代表可以使用index關(guān)鍵字或key關(guān)鍵字
      • 索引名是可選的,不填時索引名為字段名
      • 字段是加索引的字段,字段可以有多個(多列索引)。
      • 索引的長度,可選的(有些引擎設(shè)置了最大長度,一般不深入學(xué)習(xí)應(yīng)該很少遇到,這里不講述)
      • asc|desc是可選的,代表索引中的“關(guān)鍵字”的排序
    • 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:create index 索引名 on 表名 (字段  [索引的長度] [asc|desc]);
    • 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:alter table 表名 add index|key 索引名(字段  [索引的長度] [asc|desc]);

唯一索引:

  • 唯一索引,就是創(chuàng)建索引時,要求字段的數(shù)據(jù)是唯一的。
  • 創(chuàng)建語法:
    • create table 表名(字段 數(shù)據(jù)類型,字段 數(shù)據(jù)類型,… unique index|key [索引名] (字段  [索引的長度] [asc|desc]));
      • 【參數(shù)信息參考普通索引的】
    • 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:create unique index 索引名 on 表名 (字段  [索引的長度] [asc|desc]);
    • 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:alter table 表名 add unqiue index|key 索引名(字段  [索引的長度] [asc|desc]);

全文索引:fulltext index

  • 全文索引一般使用在數(shù)據(jù)類型為char,varchar和text的字段上,方便查找這些比較長的數(shù)據(jù)。
  • myisam存儲引擎支持全文索引
  • 創(chuàng)建語法:
    • create table 表名(字段 數(shù)據(jù)類型,字段 數(shù)據(jù)類型,… fulltext index|key [索引名] (字段  [索引的長度] [asc|desc]));
      • 【參數(shù)信息參考普通索引的】
    • 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:create fulltext index 索引名 on 表名 (字段  [索引的長度] [asc|desc]);
    • 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:alter table 表名 add fulltext index|key 索引名(字段  [索引的長度] [asc|desc]);

單列索引:

  • 上面的加索引字段為一個時,為單列索引

多列索引:

  • 加索引的字段為多個時,為多列索引
  • 創(chuàng)建語法:只需要將上面的(字段  [索引的長度] [asc|desc])變成(字段1  [索引的長度] [asc|desc],字段2  [索引的長度] [asc|desc],字段1  [索引的長度] [asc|desc])即可。

查看索引:

  • 可以通過查看表結(jié)構(gòu)查看索引
    • image
  • 可以通過查看表創(chuàng)建語句查看索引
    • image
  • 可以使用explain語句查看索引,explain是用來判斷mysql語句執(zhí)行的時間效率的。
    • 所以可以使用explain select語句 where 加上索引的字段作為條件;
    • 結(jié)果中的possible_key是可能使用到的索引,key實(shí)際使用到的索引。
    • 比如:
      explain select * from user_info where username="lilei";
      image

刪除索引:

  • drop index 索引名 on 表名;
    • 比如:
      drop index myindex on user_info;

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總

希望本文所述對大家MySQL數(shù)據(jù)庫計(jì)有所幫助。

相關(guān)文章

  • mysql中distinct和group?by的區(qū)別淺析

    mysql中distinct和group?by的區(qū)別淺析

    distinct簡單來說就是用來去重的,而group by的設(shè)計(jì)目的則是用來聚合統(tǒng)計(jì)的,兩者在能夠?qū)崿F(xiàn)的功能上有些相同之處,但應(yīng)該仔細(xì)區(qū)分,下面這篇文章主要給大家介紹了關(guān)于mysql中distinct和group?by區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • MySQL字符串日期格式轉(zhuǎn)換的幾種常用方法例子解析

    MySQL字符串日期格式轉(zhuǎn)換的幾種常用方法例子解析

    這篇文章主要給大家介紹了MySQL字符串日期格式轉(zhuǎn)換的幾種常用方法例子解析,MySQL提供了多種函數(shù)來處理字符串日期格式的轉(zhuǎn)換,這些函數(shù)可以幫助用戶在不同的日期格式之間進(jìn)行轉(zhuǎn)換,以及進(jìn)行日期的加減和時間戳的轉(zhuǎn)換操作,需要的朋友可以參考下
    2024-11-11
  • 解決Windows10下mysql5.5數(shù)據(jù)庫命令行中文亂碼問題

    解決Windows10下mysql5.5數(shù)據(jù)庫命令行中文亂碼問題

    重置系統(tǒng)后,很久之前安裝的MySQL數(shù)據(jù)庫出現(xiàn)了控制臺查詢中文亂碼問題,時間太久早已經(jīng)不記得怎么設(shè)置了。下面通過本文給大家分享Windows10下解決MySQL5.5數(shù)據(jù)庫命令行中文亂碼問題,一起看看吧
    2017-07-07
  • MYSQL 高級文本查詢之regexp_like和REGEXP詳解

    MYSQL 高級文本查詢之regexp_like和REGEXP詳解

    在MySQL中,regexp_like和REGEXP都是用于執(zhí)行正則表達(dá)式搜索的函數(shù),這篇文章主要介紹了MYSQL 高級文本查詢之regexp_like和REGEXP,需要的朋友可以參考下
    2023-05-05
  • mysql復(fù)制data文件遷移的實(shí)現(xiàn)步驟

    mysql復(fù)制data文件遷移的實(shí)現(xiàn)步驟

    有時候,我們需要遷移整個數(shù)據(jù)庫,包括數(shù)據(jù)文件,本文將介紹如何通過復(fù)制MySQL的data文件來完成數(shù)據(jù)庫遷移,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • mysql use命令選擇數(shù)據(jù)庫詳解

    mysql use命令選擇數(shù)據(jù)庫詳解

    這篇文章主要介紹了mysql 使用use命令選擇數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Mysql數(shù)據(jù)庫之sql基本語句小結(jié)

    Mysql數(shù)據(jù)庫之sql基本語句小結(jié)

    這篇文章主要介紹了Mysql數(shù)據(jù)庫之sql基本語句,結(jié)合實(shí)例形式總結(jié)分析了MySQL數(shù)據(jù)庫連接、登錄、查看以及數(shù)據(jù)庫、數(shù)據(jù)表等常見操作技巧,需要的朋友可以參考下
    2019-11-11
  • mysql導(dǎo)入csv的4種報(bào)錯的解決方法

    mysql導(dǎo)入csv的4種報(bào)錯的解決方法

    這篇文章主要介紹了mysql導(dǎo)入csv的4種報(bào)錯的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • MySQL對數(shù)據(jù)庫和表進(jìn)行DDL命令的操作代碼

    MySQL對數(shù)據(jù)庫和表進(jìn)行DDL命令的操作代碼

    DDL(Data?Definition?Language),是數(shù)據(jù)定義語言的縮寫,它是SQL(Structured?Query?Language)語言的一個子集,用于定義或修改數(shù)據(jù)庫的結(jié)構(gòu),本文給大家介紹了MySQL對數(shù)據(jù)庫和表進(jìn)行DDL命令的操作,需要的朋友可以參考下
    2024-07-07
  • 登錄MySQL數(shù)據(jù)庫最快幾步(圖文步驟詳解)

    登錄MySQL數(shù)據(jù)庫最快幾步(圖文步驟詳解)

    當(dāng)?MySQL?服務(wù)開啟后,就可以通過客戶端來登錄?MySQL?數(shù)據(jù)庫了。在?Windows?操作系統(tǒng)下可以使用?DOS?命令登錄數(shù)據(jù)庫,本節(jié)將介紹使用命令方式登錄?MySQL?數(shù)據(jù)庫的方法
    2023-10-10

最新評論

绍兴市| 五原县| 探索| 迭部县| 敦化市| 韶关市| 阿坝县| 邻水| 阜平县| 杨浦区| 安阳县| 南雄市| 平凉市| 栾城县| 葫芦岛市| 霍邱县| 土默特左旗| 绥芬河市| 江陵县| 磐安县| 敖汉旗| 江孜县| 名山县| 郓城县| 吉林市| 黎城县| 玉屏| 泾源县| 库车县| 北流市| 涿鹿县| 修文县| 分宜县| 竹北市| 南澳县| 林西县| 栾川县| 叶城县| 土默特左旗| 香格里拉县| 南漳县|