亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

武平县| 绥江县| 汨罗市| 阿合奇县| 云安县| 德令哈市| 昌平区| 绥芬河市| 巴彦县| 东城区| 翁牛特旗| 密云县| 庆城县| 凯里市| 古田县| 宁夏| 基隆市| 云安县| 和龙市| 鄂托克前旗| 镇赉县| 栾城县| 华安县| 镇江市| 洪洞县| 台中县| 湄潭县| 太仓市| 依兰县| 项城市| 邳州市| 吴桥县| 玉林市| 太仓市| 宽甸| 鹿邑县| 根河市| 工布江达县| 唐山市| 垫江县| 多伦县|