欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網
          最全最豐富的資訊網站

          完全掌握mysql的索引技巧(總結分享)

          本篇文章給大家?guī)砹岁P于mysql索引的相關知識,其中包括mysql的邏輯架構和sql執(zhí)行語句,希望對大家有幫助。

          完全掌握mysql的索引技巧(總結分享)

          一、MySQL三層邏輯架構

          MySQL的存儲引擎架構將查詢處理與數據的存儲/提取相分離。下面是MySQL的邏輯架構圖:

          完全掌握mysql的索引技巧(總結分享)

          1、第一層負責連接管理、授權認證、安全等等。

          每個客戶端的連接都對應著服務器上的一個線程。服務器上維護了一個線程池,避免為每個連接都創(chuàng)建銷毀一個線程。當客戶端連接到MySQL服務器時,服務器對其進行認證??梢酝ㄟ^用戶名和密碼的方式進行認證,也可以通過SSL證書進行認證。登錄認證通過后,服務器還會驗證該客戶端是否有執(zhí)行某個查詢的權限。

          2、第二層負責解析查詢

          編譯SQL,并對其進行優(yōu)化(如調整表的讀取順序,選擇合適的索引等)。對于SELECT語句,在解析查詢前,服務器會先檢查查詢緩存,如果能在其中找到對應的查詢結果,則無需再進行查詢解析、優(yōu)化等過程,直接返回查詢結果。存儲過程、觸發(fā)器、視圖等都在這一層實現(xiàn)。

          3、第三層是存儲引擎

          存儲引擎負責在MySQL中存儲數據、提取數據、開啟一個事務等等。存儲引擎通過API與上層進行通信,這些API屏蔽了不同存儲引擎之間的差異,使得這些差異對上層查詢過程透明。存儲引擎不會去解析SQL。

          二、對比InnoDB與MyISAM

          1、 存儲結構

          MyISAM:每個MyISAM在磁盤上存儲成三個文件。分別為:表定義文件、數據文件、索引文件。第一個文件的名字以表的名字開始,擴展名指出文件類型。.frm文件存儲表定義。數據文件的擴展名為.MYD (MYData)。索引文件的擴展名是.MYI (MYIndex)。

          InnoDB:所有的表都保存在同一個數據文件中(也可能是多個文件,或者是獨立的表空間文件),InnoDB表的大小只受限于操作系統(tǒng)文件的大小,一般為2GB。

          2、 存儲空間

          MyISAM: MyISAM支持支持三種不同的存儲格式:靜態(tài)表(默認,但是注意數據末尾不能有空格,會被去掉)、動態(tài)表、壓縮表。當表在創(chuàng)建之后并導入數據之后,不會再進行修改操作,可以使用壓縮表,極大的減少磁盤的空間占用。

          InnoDB: 需要

          贊(0)
          分享到: 更多 (0)
          網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號