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

MySQL回表的性能傷害程度有多大

 更新時間:2022年02月22日 16:38:46   作者:公眾號JavaEdge  
這篇文章主要介紹了MySQL回表的性能傷害程度有多大?下面我們就帶著疑問進入下面文章了解詳細內容,需要的小伙伴可以參考一下,希望對你的學習有所幫助

1 回表的性能消耗

無論單列索引 還是 聯(lián)合索引,一個索引就對應一個獨立的B+索引樹,索引樹節(jié)點僅包含:

  • 索引里的字段值
  • 主鍵值

即使根據索引樹按條件找到所需數(shù)據,也僅是索引里的幾個字段的值和主鍵值,萬一你搞個select *,那就還得其他字段,就需回表,根據主鍵到聚簇索引里找,聚簇索引的葉節(jié)點是數(shù)據頁,找到數(shù)據頁才能把一行數(shù)據所有字段值讀出來。
所以類似

select * from table order by xx1,xx2,xx3

得從聯(lián)合索引的索引樹里按序取出所有數(shù)據,接著對每條數(shù)據都走一個主鍵的聚簇索引查找,性能不高。
有時MySQL執(zhí)行引擎可能認為,你要是類似

select * from table order by xx1,xx2,xx3

相當于得把聯(lián)合索引和聚簇索引,兩個索引的所有數(shù)據都掃描一遍,那還不如不走聯(lián)合索引,直接全表掃描得了,這樣就只需掃描一個主鍵索引。

但若形如:

select * from table order by xx1,xx2,xx3 limit 10

那執(zhí)行引擎就知道你先掃描聯(lián)合索引的索引樹,拿到10條數(shù)據,接著對10條數(shù)據在聚簇索引里查找10次即可,那就還是會走聯(lián)合索引。

2 覆蓋索引

覆蓋索引不是一種索引,只是一種基于索引查詢的方式,即針對類似

select xx1,xx2,xx3 from table order by xx1,xx2,xx3

僅需聯(lián)合索引里的幾個字段的值,那就只需掃描聯(lián)合索引的索引樹,無需回表找其它字段,這種查詢方式就是覆蓋索引。
所以當你使用聯(lián)合索引時,注意是否可能會導致大量回表到聚簇索引,若回表聚簇索引的次數(shù)太多,可能就直接給你做成全表掃描而不走聯(lián)合索引了。
盡可能還是在SQL里指定你僅需要的字段,而不要暴力select *,最好直接走覆蓋索引。
即使無可避免地要回表,你也盡可能用limit、 where限定一下回表的次數(shù),就從聯(lián)合索引里篩選少數(shù)數(shù)據,再回表,這樣性能好一點。

到此這篇關于MySQL回表的性能傷害程度有多大的文章就介紹到這了,更多相關MySQL回表的性能傷害內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于mysql 5.5 設置字符集問題的詳解

    基于mysql 5.5 設置字符集問題的詳解

    本篇文章是對關于mysql 5.5設置字符集的問題進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL日期函數(shù)與時間函數(shù)匯總(MySQL 5.X)

    MySQL日期函數(shù)與時間函數(shù)匯總(MySQL 5.X)

    這篇文章主要給大家介紹了關于MySQL 5.X日期函數(shù)與時間函數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • MySQL數(shù)據庫主從復制原理及作用分析

    MySQL數(shù)據庫主從復制原理及作用分析

    這篇文章主要介紹了MySQL數(shù)據庫主從復制原理并分析了主從復制的作用和使用方法,有需要的的朋友可以借鑒參考下,希望可以有所幫助,感謝閱讀
    2021-09-09
  • mysql5.5中文亂碼問題解決的有用方法

    mysql5.5中文亂碼問題解決的有用方法

    在使用MYSQL時遇到中文亂碼的問題,表現(xiàn)為插入數(shù)據后查詢時輸出為??(亂碼),下面這篇文章主要給大家介紹了關于mysql5.5中文亂碼問題解決的有用方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • mysql 8.0.15 winx64解壓版圖文安裝教程

    mysql 8.0.15 winx64解壓版圖文安裝教程

    這篇文章主要為大家詳細介紹了mysql 8.0.15 winx64解壓版圖文安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • MySQL中的常用工具實例匯總(推薦)

    MySQL中的常用工具實例匯總(推薦)

    MySQL數(shù)據庫以體積小、速度快、總體擁有成本低等優(yōu)點,深受廣大中小企業(yè)的喜愛,下面這篇文章主要給大家介紹了關于MySQL中常用工具的相關資料,需要的朋友們可以參考學習,下面來一起看看吧。
    2017-09-09
  • MySQL中VARCHAR與CHAR格式數(shù)據的區(qū)別

    MySQL中VARCHAR與CHAR格式數(shù)據的區(qū)別

    char是一種固定長度的類型,varchar則是一種可變長度的類型,那么他們具體使用過程中有什么區(qū)別嗎
    2015-09-09
  • MySQL數(shù)據處理梳理講解增刪改的操作

    MySQL數(shù)據處理梳理講解增刪改的操作

    本篇文章旨在介紹如何使用數(shù)據處理函數(shù),和其他大多數(shù)計算機語言語言,MYSQL支持利用函數(shù)來處理數(shù)據,函數(shù)也就是一般在數(shù)據上執(zhí)行,它給數(shù)據的轉換和處理提供了方便
    2022-05-05
  • MySQL Cluster集群的初級部署教程

    MySQL Cluster集群的初級部署教程

    這篇文章主要介紹了MySQL Cluster集群的初級部署教程, MySql Cluster可以利用充分利用節(jié)點服務器的多進程做到高可用,需要的朋友可以參考下
    2016-02-02
  • MySQL PHP語法淺析

    MySQL PHP語法淺析

    在本篇文章里小編給大家分享了關于MySQL PHP語法的相關知識點,需要的朋友們學習參考下。
    2019-02-02

最新評論