欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql的聯(lián)合索引(復合索引)的實現(xiàn)

 更新時間:2021年03月18日 11:14:18   作者:wongdw  
這篇文章主要介紹了mysql的聯(lián)合索引(復合索引)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

聯(lián)合索引

本文中聯(lián)合索引的定義為(MySQL):

ALTER TABLE `table_name` ADD INDEX (`col1`,`col2`,`col3`);

聯(lián)合索引的優(yōu)點

若多個一條SQL,需要多個用到兩個條件

SELECT * FROM `user_info` WHERE username='XX',password='XXXXXX';

當索引在檢索 password字段的時候,數(shù)據(jù)量大大縮小,索引的命中率減小,增大了索引的效率。

符合索引的索引體積比單獨索引的體積要小,而且只是一個索引樹,相比單獨列的索引要更加的節(jié)省時間復雜度和空間復雜度

聯(lián)合索引命中的本質(zhì)(最左匹配的理解)

定義

當創(chuàng)建(col1,col2,col3)聯(lián)合索引時,相當于創(chuàng)建了(col)單列索引,(clo1,clo2)聯(lián)合索引以及(col1,col2,col3)聯(lián)合索引想要索引生效,只能使用col1col1,col2col1,col2,col3三種組合;當然,col1,col3組合也可以,但實際上只用到了col1的索引,col3并沒有用到!

圖解

通俗理解

聯(lián)合索引相當于一個按照姓氏——名字的一個電話簿,只能先確定姓氏才可以命中索引,下列可以正確命中聯(lián)合索引的語句( = IN直接的字段都可以亂序,MySQL的查詢優(yōu)化器可以優(yōu)化成索引識別的形式)

-- 只命中 col1,col2
SELECT * FROM `table_name` WHERE `col1`='XX';
-- 命中col1,col2。col1,col2的順序可以顛倒
SELECT * FROM `table_name` WHERE `clo1`='XX',`clo2`='XXX'; 
SELECT * FROM `table_name` WHERE `clo2`='XXX', `clo1`='XX'; 
-- 命中col1,col2,col3,同理,三個列的順可以顛倒
SELECT * FROM `table_name` WHERE `col1`='X',`col2`='XX',`col3`='XXX';
SELECT * FROM `table_name` WHERE `col1`='X',`col3`='XX',`col2`='XXX';
SELECT * FROM `table_name` WHERE `col2`='X',`col3`='XX',`col1`='XXX';

到此這篇關于mysql的聯(lián)合索引(復合索引)的實現(xiàn)的文章就介紹到這了,更多相關mysql 聯(lián)合索引 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 關于MySQL中explain工具的使用

    關于MySQL中explain工具的使用

    這篇文章主要介紹了關于MySQL中explain工具的使用,在select語句之前增加explain關鍵字,MySQL會在查詢上設置一個標記,執(zhí)行查詢會返回執(zhí)行計劃的信息,而不是執(zhí)行這條SQL,需要的朋友可以參考下
    2023-05-05
  • MySQL數(shù)據(jù)庫導出與導入及常見錯誤解決

    MySQL數(shù)據(jù)庫導出與導入及常見錯誤解決

    MySQL數(shù)據(jù)庫導出與導入的過程中將會發(fā)生眾多不可預知的錯誤,本文整理了一些常見錯誤及相應的解決方法,遇到類似情況的朋友可以參考下,希望對大家有所幫助
    2013-07-07
  • MySQL安全刪除binlog日志的詳細步驟

    MySQL安全刪除binlog日志的詳細步驟

    如果你的?Mysql?搭建了主從同步,或者數(shù)據(jù)庫開啟了log-bin日志,那么隨著時間的推移,你的數(shù)據(jù)庫data目錄下會產(chǎn)生大量的日志文件,下面這篇文章主要給大家介紹了關于MySQL安全刪除binlog日志的詳細步驟,需要的朋友可以參考下
    2024-02-02
  • mysql中EXISTS和IN的使用方法比較

    mysql中EXISTS和IN的使用方法比較

    這篇文章主要給大家介紹了關于mysql中EXISTS和IN使用方法比較的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 一步步帶你學習設計MySQL索引數(shù)據(jù)結(jié)構(gòu)

    一步步帶你學習設計MySQL索引數(shù)據(jù)結(jié)構(gòu)

    索引是存儲索引用于快速找到數(shù)據(jù)記錄的一種數(shù)據(jù)結(jié)構(gòu),就好比一本書的目錄部分,通過目錄中對應的文章的頁碼,便可以快速定位到需要的文章,下面這篇文章主要給大家介紹了關于MySQL索引數(shù)據(jù)結(jié)構(gòu)的相關資料,需要的朋友可以參考下
    2022-11-11
  • MySQL中Bit數(shù)據(jù)類型的使用方式

    MySQL中Bit數(shù)據(jù)類型的使用方式

    這篇文章主要介紹了MySQL中Bit數(shù)據(jù)類型的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • MySQL的root密碼忘記怎么辦 修改root密碼的方式

    MySQL的root密碼忘記怎么辦 修改root密碼的方式

    MySQL數(shù)據(jù)庫的root密碼忘記,怎么辦?修改root密碼的三種方式你知道嗎?下面就為大家提供詳細的解決方案,需要的朋友可以參考下
    2016-04-04
  • Java的Struts框架中的主題模板和國際化設置

    Java的Struts框架中的主題模板和國際化設置

    這篇文章主要介紹了Java的Struts框架中的主題模板和國際化設置,Struts是Java的SSH三大web開放框架之一,需要的朋友可以參考下
    2015-12-12
  • mysql命令行下執(zhí)行sql文件的幾種方法

    mysql命令行下執(zhí)行sql文件的幾種方法

    本文主要介紹了mysql命令行下執(zhí)行sql文件的幾種方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 從零開始學習SQL查詢語句執(zhí)行順序

    從零開始學習SQL查詢語句執(zhí)行順序

    sql語言中的查詢的執(zhí)行順序,以前不是很了解,最近查閱了相關資料,在sql語言中,第一個被處理的字句總是from字句,最后執(zhí)行的limit操作,現(xiàn)在小編來和大家一起學習一下
    2019-05-05

最新評論