好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > mysql的聯合索引(復合索引)的實現

mysql的聯合索引(復合索引)的實現

熱門標簽:地圖標注費用是多少 武漢網絡外呼系統服務商 電話外呼系統改號 外呼系統打電話上限是多少 怎樣在地圖標注銷售區域 曲靖移動外呼系統公司 啥是企業400電話辦理 百應電話機器人優勢 南昌三維地圖標注

聯合索引

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

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

聯合索引的優點

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

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

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

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

聯合索引命中的本質(最左匹配的理解)

定義

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

圖解

通俗理解

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

-- 只命中 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的聯合索引(復合索引)的實現的文章就介紹到這了,更多相關mysql 聯合索引 內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL 獨立索引和聯合索引的選擇
  • 深入淺析Mysql聯合索引最左匹配原則
  • MySQL聯合索引功能與用法實例分析
  • MySQL聯合索引用法示例
  • MySQL中的聯合索引學習教程
  • mysql聯合索引的使用規則

標簽:滄州 甘南 錦州 資陽 隨州 黑河 荊州 吉林

巨人網絡通訊聲明:本文標題《mysql的聯合索引(復合索引)的實現》,本文關鍵詞  mysql,的,聯合,索引,復合,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql的聯合索引(復合索引)的實現》相關的同類信息!
  • 本頁收集關于mysql的聯合索引(復合索引)的實現的相關信息資訊供網民參考!
  • 推薦文章