什么是存储引擎
什么是存儲引擎?
我們知道關系型數(shù)據(jù)庫的數(shù)據(jù)是存在表里的,可以將表理解為由行和列組成的表格,類似于Excel的電子表格的形式,每個表格就是一個數(shù)據(jù)。
表是在存儲數(shù)據(jù)的同時,還要組織數(shù)據(jù)的存儲結構,而這些數(shù)據(jù)的組織結構就是由存儲引擎決定的。
即存儲引擎的作用就是規(guī)定了數(shù)據(jù)存儲時的存儲結構。
現(xiàn)實生活中,由于不同業(yè)務產(chǎn)生了不同的數(shù)據(jù),這些數(shù)據(jù)有的可能偏重于被頻繁查詢,有的要求增刪速度快,有的則對事務、索引、外鍵有特殊規(guī)定。
這樣一來,就對存儲數(shù)據(jù)的表要求使用不同的數(shù)據(jù)組織結構,也就是存儲引擎。
簡而言之,就是業(yè)務直接決定了存儲引擎。
從這里就可以看出,同一個數(shù)據(jù)庫內(nèi)的多個表,可以使用各自符合業(yè)務的存儲引擎,即存儲引擎的使用級別是數(shù)據(jù)表。
比如MySQL中MyISAM引擎不支持事務的概念,多用于數(shù)據(jù)倉庫這樣查詢多而事務少的情況,速度較快。
MySQL中InnoDB引擎支持事務的概念,多用于web網(wǎng)站后臺等實時的中小型事務處理后臺。
對我們來說,MySQL提供了很多種類型的存儲引擎,我們可以根據(jù)對數(shù)據(jù)處理的需求,選擇不同存儲引擎,從而提高MySQL的使用性能。
總結
- 上一篇: mysql为什么使用B+树
- 下一篇: 什么是回表?