亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql之組合索引方法詳解

 更新時間:2020年08月04日 11:18:57   作者:尼古拉斯--趙四  
這篇文章主要介紹了Mysql之組合索引方法詳解,文中通過示例代碼和查詢結果展示介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

對于任何DBMS,索引都是進行優(yōu)化的最主要的因素。對于少量的數(shù)據(jù),沒有合適的索引影響不是很大,但是,當隨著數(shù)據(jù)量的增加,性能會急劇下降。 

如果對多列進行索引(組合索引),列的順序非常重要,MySQL僅能對索引最左邊的前綴進行有效的查找。例如: 

假設存在組合索引(c1,c2),查詢語句select * from t1 where c1=1 and c2=2能夠使用該索引。查詢語句select * from t1 where c1=1也能夠使用該索引。但是,查詢語句select * from t1 where c2=2不能夠使用該索引,因為沒有組合索引的引導列,即,要想使用c2列進行查找,必需出現(xiàn)c1等于某值。

舉例說明: 
創(chuàng)建兩張表book(圖書表)和bookclass(圖書分類表)

select b.ISBN FROM book b where b.CATEGORY_ID = 1; 

這里寫圖片描述 

執(zhí)行時間為:0.053s

使用explain來分析一下該SQL: 

這里寫圖片描述 

type = ALL Extra=Using where,全表查詢沒有使用索引。

explain顯示了mysql如何使用索引來處理select語句以及連接表??梢詭椭x擇更好的索引和寫出更優(yōu)化的查詢語句。

ALL 對于每個來自于先前的表的行組合,進行完整的表掃描。如果表是第一個沒標記const的表,這通常不好,并且通常在它情況下很差。通??梢栽黾痈嗟乃饕灰褂肁LL,使得行能基于前面的表中的常數(shù)值或列值被檢索出。

創(chuàng)建組合索引: 
create index index_isbn on book (CATEGORY_ID,ISBN) ;

再次執(zhí)行SQL,發(fā)現(xiàn)時間縮短到0.009s 

這里寫圖片描述 

使用explain來分析一下該SQL: 

這里寫圖片描述 

type = ref,Extra = Using index 使用了索引查詢。

ref 對于每個來自于前面的表的行組合,所有有匹配索引值的行將從這張表中讀取。如果聯(lián)接只使用鍵的最左邊的前綴,或如果鍵不是UNIQUE或PRIMARY KEY(換句話說,如果聯(lián)接不能基于關鍵字選擇單個行的話),則使用ref。如果使用的鍵僅僅匹配少量行,該聯(lián)接類型是不錯的。

到此這篇關于Mysql之組合索引方法詳解的文章就介紹到這了,更多相關Mysql之組合索引內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 20分鐘MySQL基礎入門

    20分鐘MySQL基礎入門

    這篇文章主要為大家分享了20分鐘MySQL基礎入門教程,快速掌握MySQL基礎知識,真正了解MySQL,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • mysql5.7.18版本免安裝配置教程

    mysql5.7.18版本免安裝配置教程

    這篇文章主要為大家詳細介紹了mysql5.7.18版本免安裝的配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 詳解MySQL資源組的使用方法

    詳解MySQL資源組的使用方法

    MySQL支持創(chuàng)建和管理資源組,并允許將服務器內運行的線程分配給特定的組,本文主要介紹了詳解MySQL資源組的使用方法,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • 驗證mysql是否安裝成功的方法

    驗證mysql是否安裝成功的方法

    在本篇文章里小編給大家分享的是關于驗證mysql是否安裝成功的方法,需要的朋友們可以學習下。
    2020-06-06
  • 詳解記錄MySQL中l(wèi)ower_case_table_names的坑

    詳解記錄MySQL中l(wèi)ower_case_table_names的坑

    這篇文章主要介紹了詳解記錄MySQL中l(wèi)ower_case_table_names的坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Java的Struts框架中的主題模板和國際化設置

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

    這篇文章主要介紹了Java的Struts框架中的主題模板和國際化設置,Struts是Java的SSH三大web開放框架之一,需要的朋友可以參考下
    2015-12-12
  • MySQL Delete 刪數(shù)據(jù)后磁盤空間未釋放的原因

    MySQL Delete 刪數(shù)據(jù)后磁盤空間未釋放的原因

    這篇文章主要介紹了MySQL Delete 刪數(shù)據(jù)后磁盤空間未釋放的原因,幫助大家更好的理解和學習使用MySQL,感興趣的朋友可以了解下
    2021-05-05
  • MySQL優(yōu)化方案之開啟慢查詢日志

    MySQL優(yōu)化方案之開啟慢查詢日志

    相信大家應該都知道MySQL的慢查詢日志是MySQL提供的一種日志記錄,它用來記錄在MySQL中響應時間超過閥值的語句,下面這篇文章主要給大家介紹了關于MySQL優(yōu)化方案之開啟慢查詢日志的相關資料,需要的朋友可以參考下
    2021-12-12
  • 適合新手的mysql日期類型轉換實例教程

    適合新手的mysql日期類型轉換實例教程

    Mysql作為一款開元的免費關系型數(shù)據(jù)庫,用戶基礎非常龐大,下面這篇文章主要給大家介紹了關于mysql日期類型轉換的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Mysql主從數(shù)據(jù)庫(Master/Slave)同步配置與常見錯誤

    Mysql主從數(shù)據(jù)庫(Master/Slave)同步配置與常見錯誤

    今天小編就為大家分享一篇關于Mysql主從數(shù)據(jù)庫(Master/Slave)同步配置與常見錯誤,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03

最新評論