国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql的innodb數據庫引擎詳解

2024-07-24 12:54:23
字體:
來源:轉載
供稿:網友

一.mysql體系結構和存儲引擎

1.1、數據庫和實例的區別

數據庫:物理操作系統或其他形式文件類型的集合。在mysql下數據庫文件可以是frm,myd,myi,ibd結尾的文件。

數據庫實例:由數據庫后臺進程/線程以及一個共享內存區組成。數據庫實例才是真正用來操作數據庫文件的。

mysql數據庫是單進程多線程的程序,與sql server比較類似。也就是說,Mysql數據庫實例在系統上的表現就是一個進程。

1.2、mysql的體系結構

mysql由連接池組件、管理服務和工具組件、sql接口組建、查詢分析器組件、優化器組件、緩存組件、插件是存儲引擎、物理文件。

1.3、mysql存儲引擎

1.3.1、innodb存儲引擎,特點支持外鍵、行鎖、非鎖定讀(默認情況下讀取不會產生鎖)、mysql-4.1開始支持每個innodb引擎的表單獨放到一個表空間里。innodb通過使用MVCC來獲取高并發性,并且實現sql標準的4種隔離級別,同時使用一種被稱成next-key locking的策略來避免換讀(phantom)現象。除此之外innodb引擎還提供了插入緩存(insert buffer)、二次寫(double write)、自適應哈西索引(adaptive hash index)、預讀(read ahead)等高性能技術。

1.3.2、myisam存儲引擎,myisam特點是不支持事物,適合olap應用,myisam表由MYD和MYI組成。mysql-5.0版本之前,myisam默認支持的表大小為4G,從mysql-5.0以后,myisam默認支持256T的表單數據。myisam只緩存索引數據。

1.3.3、NDB存儲引擎,特點是數據放在內存中,mysql-5.1版本開始可以將非索引數據放到磁盤上。NDB之前的缺陷是join查詢是mysql數據庫層完成的,而不是存儲引擎完成的,復雜的join查詢需要巨大的網絡開銷,速度很慢。當前mysql cluster7.2版本中已經解決此問題,join查詢效率提高了70倍。

1.3.4、memeory存儲引擎,將數據放到內存中,默認使用hash索引,不支持text和blob類型,varchara是按照char的方式來存儲的。mysql數據庫使用memory存儲引擎作為臨時表還存儲中間結果集(intermediate result),如果中間集結果大于memorg表的容量設置,又或者中間結果集包含text和blog列類型字段,則mysql會把他們轉換到myisam存儲引擎表而放到磁盤上,會對查詢產生性能影響。

1.3.5、archive存儲引擎,壓縮能力較強,主要用于歸檔存儲。

1.3.6、federated存儲引擎,不存儲數據,他指向一臺遠程mysql數據庫上的表。

1.3.7、maria存儲引擎,myisam的后續版本,支持緩存數據和索引,行鎖設計,支持mvcc,支持事務和非事務安全的選項,以及更好的BLOG字符類型的處理性能。

1.3.8、其他存儲引擎,sphinx用于全文索引,infobright用于數據倉庫。

1.4連接Mysql

1.4.1、TCP/IP:基于網絡的連接,連接進行權限檢查。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彭州市| 乐安县| 冀州市| 公安县| 任丘市| 岳普湖县| 九江市| 孟津县| 长岛县| 沧源| 望奎县| 安顺市| 章丘市| 武鸣县| 丹凤县| 穆棱市| 宝丰县| 元谋县| 石家庄市| 南汇区| 峡江县| 扶余县| 迭部县| 雷波县| 南安市| 安多县| 龙泉市| 永寿县| 商都县| 汶川县| 磴口县| 新营市| 大宁县| 黑山县| 周宁县| 望都县| 黑河市| 成安县| 南江县| 东光县| 田阳县|