mysql學習筆記二 - 存儲引擎、查詢執行流程分析及執行計劃詳解

Mysql插拔式的存儲引擎

存儲引擎介紹

1,插拔式的插件方式
2,存儲引擎是指定在表之上的,即一個庫中的每一個表都可
以指定專用的存儲引擎。
3,不管表採用什麼樣的存儲引擎,都會在數據區,產生對應
的一個frm文件(表結構定義描述文件)

CVS存儲引擎

  • 數據存儲以CSV文件
  • 特點:
    不能定義沒有索引、列定義必須爲NOT NULL、不能設置自增列
    –>不適用大表或者數據的在線處理
    CSV數據的存儲用,隔開,可直接編輯CSV文件進行數據的編排
    –>數據安全性低
    注:編輯之後,要生效使用flush table XXX 命令
  • 應用場景:
    數據的快速導出導入
    表格直接轉換成CSV

Archive 存儲引擎

  • 壓縮協議進行數據的存儲
  • 數據存儲爲ARZ文件格式
  • 特點:
    只支持insert和select兩種操作
    只允許自增ID列建立索引
    行級鎖
    不支持事務
    數據佔用磁盤少
  • 應用場景:
    日誌系統
    大量的設備數據採集

Memory 存儲引擎

  • 數據都是存儲在內存中,IO效率要比其他引擎高很多
  • 服務重啓數據丟失,內存數據表默認只有16M
  • 特點:
    支持hash索引,B tree索引,默認hash(查找複雜度0(1))
    字段長度都是固定長度varchar(32)=char(32)
    不支持大數據存儲類型字段如 blog,text
    表級鎖
  • 應用場景:
    等值查找熱度較高數據
    查詢結果內存中的計算,大多數都是採用這種存儲引擎
    作爲臨時表存儲需計算的數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章