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

溫馨提示×

溫馨提示×

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

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

MySQL存儲引擎MyISAM和InnoDB

發布時間:2020-04-10 00:48:37 來源:網絡 閱讀:472 作者:wx5d8ab22a0be5a 欄目:MySQL數據庫

存儲引擎概念介紹

  • MySQL中的數據用各種不同的技術存儲在文件中,每一種技術都使用不同的存儲機制、索引技巧、鎖定水平并最終提供不同的功能和能力,這些不同的技術以及配套的功能在MySQL中稱為存儲引擎
  • 存儲引擎就是MySQL將數據存儲在文件系統中的存儲方式或者存儲格式————因此適用的場景也不一樣
  • 目前MySQL常用的兩種存儲引擎
    MyISAM
    InnoDB
    存儲引擎:一種基礎的驅動力,存儲技術:存儲機制、索引技巧、鎖定水平。
  • mysql存儲引擎是mysql數據庫服務器中的組建,負責為數據庫執行實際的數據I/O操作
  • 使用特殊存儲的主要優點之一在于:僅需要提供特殊應用所需的特性,數據庫中的系統開銷較小,具有更有效和更高的數據庫性能
  • mysql系統中,存儲引擎處于文件系統之上,在數據保存到數據文件之前會傳輸到存儲引擎,之后按照各個存儲引擎的存儲格式進行儲存
    MySQL存儲引擎MyISAM和InnoDB
    前后端的開發語言去提取拿取數據,這就需要裝驅動,,具體的對象叫connector連接者
    connection pool 叫連接池,類似所謂的空閑的線程或者進程去進行連接,在里面回房多個被連接對象,以備連接,并且節省響應時間,優化訪問效率
    使用線程或者進程去連接,鏈接需要媒介載體,就是sock通信文件,以提供pid文件,所有的線程都需要sock文件去管理,
    數據放在磁盤上,在邏輯層面上放在file system 中,管理數據需要management services
    sql interface 支持功能,ddl,dml,view
    parser 查詢功能query,object privilege 權限功能
    optimizer :access paths
    buffers :緩存區、global 全局
    files logs 日志文件:日志文件是數據庫的核心命脈,用來做主從復制,備份需要單獨備份
    MyISAM的簡單介紹
  • myisam存儲引擎是Mysql關系數據庫系統5.5版本之前默認的存儲引擎,前身是ISAM
  • ISAM是一個定義明確且歷經時間考驗的數據表格管理方法,在設計之時就考慮到數據庫被查詢的次數要遠大于更新的次數
    ISAM的特點
  • ISAM執行讀取操作的速度很快
  • 而且不占用大量的內存和存儲資源
  • 但是不支持事務處理
  • 而且不能夠容錯
  • ISAM更看重讀,讀>寫
    MyISAM的詳細介紹
  • MyISAM管理非事務表,是ISAM的擴展格式
  • 提供索引和字段管理等大量功能
  • MyISAM使用一種表格鎖定的機制,以優化多個并發的讀寫操作————在寫入數據時,無法讀,在讀的時候無法寫
  • MyISAM提供高速存儲和檢索,以及全文搜索能力,受到web開發的青睞
    MyISAM的特點
  • 不支持事務
  • 表級鎖定形式,數據在更新時鎖定整個表
  • 數據庫在讀寫過程中相互阻塞
    會在數據寫入的過程阻塞用戶數據的讀取
    也會在數據讀取的過程中阻塞用戶的數據寫入
  • 可通過key_buffer_size來設置緩存索引,提高訪問性能,減少磁盤IO的壓力
    但是緩存只會緩存索引文件,不會緩存數據
  • 采用MsISAM存儲引擎數據單獨寫入或讀取,速度過程較快且占用資源相對少
  • MyISAM存儲引擎不支持外鍵約束,只支持全文索引
  • 每個MyISAM在磁盤上存儲成三個文件,每一個文件的名字以表的名字開始,擴展名指出文件類型
    MyISAM在磁盤上存儲的文件:
  • .frm文件,用來存儲表的定義結構
  • 數據文件的擴展名為.MYD(MYData)
  • 索引文件的擴展名是.MYI(MYIndex)
    MyISAM使用的生產場景舉例
    公司業務不需要事務的支持
    一般單方面讀取/寫入數據比較多的業務
    MyISAM存儲引擎讀寫都比較頻繁的場景不適合
    使用讀寫并發訪問相對較低的業務
    數據修改相對較少的業務
    對數據業務一致性要求不是非常高的業務
    服務器硬件資源相對比較差————使用老服務器使用mysql時,就將引擎設置為MyISAM
    InnoDB特點介紹
  • 支持事務:支持四個事務隔離級別
  • 行級鎖定,但是全表掃描時仍然會是表級鎖定
  • 讀寫阻塞與事務隔離級別相關
  • 具有非常高效的緩存特性:能緩存索引,也能緩存數據
  • 表與主鍵以簇的方式存儲
  • 支持分區、表空間,類似oracle數據庫
  • 支持外鍵約束,5.5以前不支持全文索引,5.5版本以后支持全文索引
  • 對硬件資源要求還是比較高的場合
    InnoDB使用生產場景分析
    業務需要事務的支持
    行級鎖定對高并發有很好的適應能力,但須確保查詢是通過索引來完成
    業務數據更新較為頻繁的場景,如:論壇,微博等
    業務數據一致性要求較高,例如:銀行業務
    硬件設備內存較大,利用Innodb交換的緩存能力來提高內存利用利弊,減少IO的壓力
    企業選擇存儲引擎依據
    需要考慮每個存儲引擎提供了哪些不同的核心功能及應用場景
    支持的字段和數據類型
    所有引擎都支持通用的數據類型
    但不是所有的引擎都支持其它的字段類型,如二進制對象
    鎖定類型:不同的存儲引擎支持不同級別的鎖定
  • 表鎖定:MyISAM、InnoDB
  • 行鎖定:InnoDB
    索引的支持
    建立索引在搜索和回復數據庫中的數據的時候能夠顯著提高性能
    不同的存儲引擎提供不同的制作索引的技術
    有些存儲引擎根本不支持索引
    事務處理的支持
    事務處理功能通過提供在向表中更新和插入信息期間的可靠性
    可根據企業業務是否要支持事務選擇存儲引擎
    配置存儲引擎
    在企業中選擇好合適的存儲引擎之后,就可以進行修改
    修改步驟
    1. 查看數據庫可配置的存儲引擎
    2. 查看表正在使用的存儲引擎
      3.配置存儲引擎為所選擇的類型
      使用show engines查看系統支持的存儲引擎
      MySQL存儲引擎MyISAM和InnoDB
      方法1:show table status from 庫名 where name=‘表名’;
      方法2:show create table 表名;
      切換存儲引擎需要切換表結構
      MySQL存儲引擎MyISAM和InnoDB
      MySQL存儲引擎MyISAM和InnoDB
      \G 代替分號表示垂直顯示結果
      修改存儲引擎
      MySQL存儲引擎MyISAM和InnoDB
      實例
      MySQL存儲引擎MyISAM和InnoDB
向AI問一下細節

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

AI

庆元县| 全南县| 邯郸县| 湘乡市| 临泽县| 莎车县| 神池县| 保定市| 汾西县| 安新县| 赤水市| 长丰县| 象州县| 吐鲁番市| 浦东新区| 隆德县| 盐池县| 安福县| 穆棱市| 当雄县| 太白县| 关岭| 武定县| 屏山县| 昆明市| 合山市| 曲阜市| 宜州市| 汝阳县| 武川县| 英德市| 新巴尔虎右旗| 阿瓦提县| 德令哈市| 高密市| 平乡县| 通许县| 北京市| 明水县| 新田县| 南丹县|