久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:87日期:2023-10-05 07:56:19
聯(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)合索引想要索引生效,只能使用col1和col1,col2和col1,col2,col3三種組合;當然,col1,col3組合也可以,但實際上只用到了col1的索引,col3并沒有用到!

圖解

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

通俗理解

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

-- 只命中 col1,col2SELECT * 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’;

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

相關(guān)文章:
主站蜘蛛池模板: 沧州市| 都江堰市| 保亭| 河东区| 乌海市| 河池市| 河曲县| 平顶山市| 扎鲁特旗| 广元市| 天镇县| 准格尔旗| 巴林右旗| 宜章县| 伊吾县| 钟祥市| 秦安县| 柏乡县| 修武县| 关岭| 宁强县| 高阳县| 大同市| 慈利县| 灌南县| 合川市| 长武县| 织金县| 揭西县| 太谷县| 长武县| 阜城县| 交城县| 肥东县| 新和县| 苏尼特右旗| 苍溪县| 博客| 开鲁县| 滨州市| 元朗区|