91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySql慢查詢如何解決

發布時間:2021-12-04 14:18:01 來源:億速云 閱讀:122 作者:iii 欄目:大數據

本篇內容介紹了“MySql慢查詢如何解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

  1. 主鍵id,我們采用bigint,8字節

  2. 一條數據大小1KB

  • 第一層
    一個頁16K,每一個索引鍵的大小8字節(bigint)+6字節(指針大小),因此第一層可存儲16*1024/14=1170個索引鍵。查詢Mysql的葉子可以存放多少數據,可以用sql: SHOW GLOBAL STATUS LIKE 'Innodb_page_size',大約是16k


  • 第二層
    第二層只存儲索引鍵,能存儲多少個索引鍵呢?1170(這么多個頁,有第一層延伸的指針)1170(每頁的索引鍵個數,跟第一步計算一致)=1368900
    如果第二層存儲數據呢?1170(這么多個頁,有第一層延伸的指針)
    16(16KB的頁大小/1KB的數據大小)=18720,也就是能存儲一萬多條數。


  • 第三層
    直接看三層能存儲多少數據?1170*1170*16=21902400,是不是很強大,此處應該有掌聲和鮮花,3次IO就可以查詢到2千多萬左右的數據,也就是這么大的數據量如果通過主鍵索引來查找是很快,這就是explain一個sql時,type=const為什么性能是最優的。

從上面我們可以看出,查出兩千萬左右的數據,我們需要了3次磁盤IO,如果采用其他的結構,很明顯不是3次磁盤IO。

2.  MyISAM 存儲引擎介紹(非聚簇索引)

特點:索引文件和數據文件是分離的

缺陷:不支持事務和行級鎖,而且有一個毫無疑問的缺陷就是崩潰后無法安全恢復。

它是表的存儲引擎,例如如下創建表的語句,就指定的存儲引擎,

CREATE TABLE `user` ( 

  `id` INT(64) DEFAULT NULL 

) ENGINE=MYISAM DEFAULT CHARSET=utf8

3. InnoDB 存儲引擎介紹(聚簇索引)

特點:1. 表數據文件本身就是按B+ Tree組織的一個索引結構文件

          2. 聚簇索引-葉節點包含完整的數據記錄

下面有一個問題:

1.  為什么InnoDB表必須有主鍵,并且推薦使用整形的自增主鍵

InnoDB是通過主鍵聚集數據,如果沒有定義主鍵,InnoDB會選擇一個唯一的非空索引代替。如果沒有這樣的索引,InnoDB會隱式定義一個主鍵來作為聚簇索引。

使用自增主鍵,可以讓二叉樹分裂的時候,達到一個小平衡,效率更高。

“MySql慢查詢如何解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳泉市| 隆安县| 平顶山市| 弥勒县| 施秉县| 武城县| 武定县| 綦江县| 淳安县| 建水县| 潞城市| 当涂县| 阳朔县| 安仁县| 榆中县| 永安市| 阳谷县| 佛山市| 巨野县| 南漳县| 乐陵市| 商河县| 南靖县| 临清市| 阿勒泰市| 鄂尔多斯市| 潼关县| 扶绥县| 合川市| 龙海市| 定安县| 治县。| 西畴县| 上虞市| 甘德县| 朝阳市| 子长县| 巴楚县| 南通市| 宁陵县| 中方县|