最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql InnoDB和MyISAM區(qū)別原理解析

 更新時間:2020年10月23日 11:46:06   作者:嘿熊  
這篇文章主要介紹了Mysql InnoDB和MyISAM區(qū)別原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

mysql支持很多表類型的表(即存儲引擎),如myisam、innodb、memory、archive、example等。每種存儲引擎都有自己的優(yōu)點和缺點,充分的理解每種存儲引擎,有助于合理的使用它們。有人認為在同一個數(shù)據(jù)庫中使用多種存儲引擎很影響性能,其實這是一種十分錯誤的想法。實際上,除非是非常簡單的數(shù)據(jù)庫,否則的話,只使用一種存儲引擎,對應用程序的性能來說是一個十分糟糕的行為。對數(shù)據(jù)庫了解的人會根據(jù)每張表的作用不同來選擇適當?shù)拇鎯σ?,這才是正確的做法。

前面說過mysql的存儲引擎很多,但是我個人在工作中運用最多的存儲引擎有兩個,一個是InnoDB,一個是MyISAM。我這里就聊聊這兩個存儲引擎,并比較下兩者之間的區(qū)別。

一、MyISAM

MyISAM現(xiàn)在為mysql的默認存儲引擎,如果在建表的時候,沒有指定表類型,mysql就會默認使用MyISAM。MyISAM有一個很多人認為很重要,然而我卻覺得沒什么卵用的特性,那就是MyISAM表示獨立于操作系統(tǒng)之外的。通俗點說就是你可以很輕松的將MyISAM表從windows移植到linux或者從linux移植到windows。這確實是個優(yōu)點,可是哪個技術主管會有在決定用了一種操作系統(tǒng)一段時間后又要換服務器的操作系統(tǒng)的腦殘行為,所有我認為這個優(yōu)點沒有什么實際的意義。

MyISAM存儲引擎是mysql組件中非常重要的一部分,在mysql中可以創(chuàng)建3種MyISAM格式的表——靜態(tài)、動態(tài)和壓縮。格式不需要單獨指定,mysql會根據(jù)表結構自動選擇最合適的格式。

1、MyISAM靜態(tài)

如果表的每個字段的數(shù)據(jù)類型的定義都是使用靜態(tài)的(如char),mysql就會自動使用靜態(tài)MyISAM格式,這種類型格式的表的性能是很高的,也就是查詢更新用的時間很少,但要知道這是在犧牲空間為代價。因為每一列都要分配最大的空間,即使有部分空間沒有用到,這就使得靜態(tài)的表所占的空間會比較大。

2、MyISAM動態(tài)

如果表的每個字段的數(shù)據(jù)類型的定義都是使用動態(tài)的(如varchar),mysql就會自動使用動態(tài)MyISAM格式,這種類型格式的表的性能會有所下降,但是它的空間占有要比靜態(tài)的少很多。

3、MyISAM壓縮

如果有一張表在設計之初只賦予了它讀的使命,就可以用MyISAM壓縮表,在相同的配置下,它的性能是最快的。

二、InnoDB

InnoDB是一個事務型存儲引擎,它默認支持事務。因此,在對數(shù)據(jù)完整度有較高要求的項目中,都是采用InnoDB作為存儲引擎,比如跟銀行相關的項目。InnoDB還引入行級鎖定。其他表類型都是全表鎖定,意思就是說,在一個用戶要修改一張表中,自己那一行的某個信息的時候,數(shù)據(jù)庫會先鎖定整張表,其他用戶對這張表無法進行操作,這就是全表鎖定。行級鎖定就不一樣了,只鎖定自己要修改的那一行的,也就是說其他人對表還可以進行操作,只是不能操作被鎖定的那一行的數(shù)據(jù)了。好處顯而易見,在速度上更快了,特別適合處理多重并發(fā)的更新請求。

InnoDB還引入了外鍵約束。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 更新至MySQL 5.7.9的詳細教程

    更新至MySQL 5.7.9的詳細教程

    文章介紹了MySQL 5.7.9 GA版本的更新過程和一些常見警告的解決方法,包括設置`secure-file-priv`參數(shù)、跳過SSL連接、使用`skip-networking`代替`skip-name-resolve`等,感興趣的朋友一起看看吧
    2025-02-02
  • MySQL一些常用高級SQL語句詳解

    MySQL一些常用高級SQL語句詳解

    對?MySQL?數(shù)據(jù)庫的查詢,除了基本的查詢外,有時候需要對查詢的結果集進行處理。例如只取?10?條數(shù)據(jù)、對查詢結果進行排序或分組等等,今天就給大家分享MySQL一些常用高級SQL語句,感興趣的朋友一起看看吧
    2022-06-06
  • Ubuntu搭建Mysql+Keepalived高可用的實現(xiàn)(雙主熱備)

    Ubuntu搭建Mysql+Keepalived高可用的實現(xiàn)(雙主熱備)

    本文主要介紹了Ubuntu搭建Mysql+Keepalived高可用的實現(xiàn)(雙主熱備),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • MySQL專用服務器自動配置參數(shù)的實現(xiàn)

    MySQL專用服務器自動配置參數(shù)的實現(xiàn)

    本文主要介紹了MySQL專用服務器自動配置參數(shù)的實現(xiàn),MySQL8.0推出了專用數(shù)據(jù)庫服務器自動配置參數(shù),通過打開innodb_dedicated_server,下面就來詳細的介紹一下,感興趣的可以了解一下
    2024-09-09
  • Mysql啟動中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的問題

    Mysql啟動中 InnoDB: Error: log file ./ib_logfile0 is of differe

    對于使用了默認 my.cnf(一般教程都會教你使用support-files/my-medium.cnf)的Mysql服務來說如果中間使用了innodb的話,innodb默認的log file大小是56M
    2011-05-05
  • 詳解MySQL中的存取權限

    詳解MySQL中的存取權限

    這篇文章主要介紹了詳解MySQL中的存取權限,針對用戶使用數(shù)據(jù)庫權限分配的問題做出說明,需要的朋友可以參考下
    2015-07-07
  • linux下安裝mysql簡單的方法

    linux下安裝mysql簡單的方法

    這篇文章主要介紹了 linux下安裝mysql簡單的方法,需要的朋友可以參考下
    2017-08-08
  • Mysql 5.7從節(jié)點配置多線程主從復制的方法詳解

    Mysql 5.7從節(jié)點配置多線程主從復制的方法詳解

    這篇文章主要介紹了Mysql 5.7從節(jié)點配置多線程主從復制的相關資料,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • 一篇文章帶你深入了解Mysql觸發(fā)器

    一篇文章帶你深入了解Mysql觸發(fā)器

    這篇文章主要介紹了MySQL觸發(fā)器概念、原理與用法,結合實例形勢詳細分析了mysql觸發(fā)器相關概念、原理、創(chuàng)建、用法及操作注意事項,需要的朋友可以參考下
    2021-08-08
  • 詳解Mysql基礎語法的使用

    詳解Mysql基礎語法的使用

    MySQL是一個關系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。這篇文章主要介紹了Mysql基礎語法的使用,需要的朋友可以參考下
    2018-07-07

最新評論

尉氏县| 深州市| 宁陵县| 玉龙| 北宁市| 元朗区| 宁河县| 景谷| 汪清县| 济宁市| 青冈县| 河西区| 漳浦县| 贵德县| 大兴区| 亚东县| 兰溪市| 毕节市| 邛崃市| 丁青县| 南阳市| 台北市| 呼玛县| 稻城县| 靖安县| 白山市| 宽城| 筠连县| 深水埗区| 乃东县| 东乡| 鄂州市| 新民市| 镇沅| 厦门市| 博野县| 孟津县| 龙陵县| 都兰县| 商都县| 同德县|