Mysql常用的儲存引擎

來源:互聯網
上載者:User

標籤:崩潰   讀取   stat   語句   系統   使用者   事務隔離   ODB   使用   

MySql通訊架構

    1.最上層是各種應用程式的串連資料庫的驅動程式

    2.Mysql在串連池中分配一個線程來處理用戶端的串連請求

    3.串連的安全合法性驗證

       並發串連數不能太大,是整個系統的效能瓶頸

    4.SQL Interface      sql介面 檢查用戶端發送過來的sql語句是否符合sql文法

    5.Parser                 sql解析器    把驗證過的sql語句進行最佳化同時檢查使用者是否有查詢或者執行許可權

    6.Optimlzer            sql執行計畫   選擇一條找到資料的最佳路徑

    7.返回資料同時緩衝查詢結果

 

Myql查詢的執行路徑

     1.用戶端發送執行查詢sql語句
     2.mysql服務端接收到sql語句後首先查詢快取
        緩衝是基於hash運算來尋找的,所以要求sql語句的字元要一模一樣
     3.如果沒有緩衝 則把sql語句發送到解析器
     4.最佳化解析後sql 找到最佳執行路徑
     5.執行sql語句 返回查詢結果

 

MyISAM儲存引擎

        不支援事務

        表級鎖定

        讀寫相互阻塞,寫入不能讀,讀時不能寫

        只緩衝索引

       不支援外鍵約束

       不支援聚簇索引

       讀取資料較快,佔用資源較少

       不支援MVCC(多版本並發控制機制)高並發

       崩潰恢複性較差

      MySQL5.5.5前預設的資料庫引擎 

     適用情境:唯讀(或者寫較少),表較小(可以接受長時間進行修複操作)

     MyISAM引擎檔案: 

          tbl_name.frm: 表格式定義 

          tbl_name.MYD: 資料檔案 

          tbl_name.MYI: 索引檔案 

 

InnoDB引擎特點

      支援事務,適合處理大量短期事務

      行級鎖

      讀寫阻塞與交易隔離等級相關

      可快取資料和索引

      支援聚簇索引

      崩潰恢複性更好

     支援MVCC高並發

     從MySQL5.5後支援全文索引

    從MySQL5.5.5開始為預設的資料庫引擎 

     InnoDB資料庫檔案

        所有InnoDB表的資料和索引放置於同一個資料表空間中 

              資料表空間檔案:   datadir定義的目錄下   

              資料檔案:      ibddata1, ibddata2, ...

       每個表單獨使用一個資料表空間儲存表的資料和索引 

              啟用:innodb_file_per_table=ON     

      兩類檔案放在資料庫獨立目錄中   

              資料檔案(儲存資料和索引):tb_name.ibd   

              表格式定義:tb_name.frm 

 

管理儲存引擎

     查看mysql支援的儲存引擎: 

             show engines;

    查看當前預設的儲存引擎: 

            show variables like ‘%storage_engine%‘;   

     設定預設的儲存引擎: 

      vim /etc/my.conf 

        [mysqld] 

        default_storage_engine= InnoDB; 

     查看庫中所有表使用的儲存引擎 

          show table status from db_name;

     查看庫中指定表的儲存引擎 

         show table status like ‘tb_name‘; 

         show create table tb_name;

     設定表的儲存引擎:

         CREATE TABLE  tb_name(... )  ENGINE=InnoDB;

         ALTER TABLE  tb_name  ENGINE=InnoDB; 

 

 

     

Mysql常用的儲存引擎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.