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

深入了解Mysql邏輯架構(gòu)

 更新時間:2020年12月23日 10:06:46   作者:晴轉(zhuǎn)陣雨  
這篇文章主要介紹了深入了解Mysql邏輯架構(gòu)的原因,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下

  Mysql現(xiàn)在是大多數(shù)公司企業(yè)在用的數(shù)據(jù)庫,之所以用Mysql,一點是因為Mysql是開源軟件,一些有能力的公司會基于已有的Mysql架構(gòu),進行修改、調(diào)整改成適合自己公司的業(yè)務(wù)需要。

一點是因為Mysql免費,相對昂貴的Oracle服務(wù),對于很多剛起步的公司來說,是最適合不過的數(shù)據(jù)庫了。

  之所以要認識Mysql的邏輯架構(gòu),就好比我們自己在做開發(fā)時,首先需要先掌握自己系統(tǒng)用的分層架構(gòu),這樣在開發(fā)的過程中,如果有哪個環(huán)節(jié)產(chǎn)生問題,就很好排查。認識Mysql的邏輯架構(gòu)也同理,我們在用Mysql的時候,我們不清楚它什么時候會出現(xiàn)問題,但是當(dāng)出現(xiàn)問題時(比如優(yōu)化查詢sql,要從哪一步開始),我們可以更清楚的定位問題。

1.Connections 連接器

我們連接Mysql的服務(wù)作為客戶端連接Mysql服務(wù)端,Mysql可以連接各個編程語言平臺

2.系統(tǒng)管理和控制工具(Management Serveices & Utilities)

作為Mysql服務(wù)的管理和控制工具,比如備份、還原、復(fù)制、集群等

3.連接池(Connection Pool)

連接池的主要功能是提供連接認證、線程復(fù)用、連接數(shù)限制等

4.SQL Interface(SQL接口)

這里主要是接收Mysql 的DML、DDL語句,以及存儲過程、視圖、觸發(fā)器等

5.Parse(解析器)

這里主要的對傳過來的sql字符串進行解析,比如我們一開始接觸的jdbc編程,就是將字符串類型的sql語句發(fā)送到mysql里,然后解析器首先對sql語句進行詞法分析,形成語法樹,接著再對語法樹進行語法分析,看各個分詞是否符合SQL92標準,符合的話再執(zhí)行下一環(huán)節(jié)業(yè)務(wù)處理。

6.查詢優(yōu)化器(Optimizer)

查詢優(yōu)化器根據(jù)傳過來的SQL語句,進行分析判斷是否是最優(yōu)的執(zhí)行語句,主要針對一下三個方面進行分析:
* 使用哪一個索引(一個表有若干個索引,選擇過濾力度最大的那個)
* 多表關(guān)聯(lián)的表連接順序
* WHERE條件的先后順序(根據(jù)MYSQL最左前綴原則,會重新擺放條件順序)

7.查詢緩存(Cache&Buffer)

MYSQL會將每一條SQL進行hash處理后將hash值放到一個map中,每次有SQL來時先計算SQL的hash值,比較是否相同,相同的話可以執(zhí)行內(nèi)存的SQL,而不必對新的SQL語句進行解析、優(yōu)化等操作,加快執(zhí)行效率。

8.存儲引擎(Pluggable Storage Engines)

MSQL的存儲引擎支持可插拔特性,即用戶可隨意替換想用的存儲引擎,也可以自定義自己的存儲引擎,這里主要針對INNODB、MYISAM存儲引擎進行分析比較。

平時涉及到存儲引擎的選型,主要針對業(yè)務(wù)的需要來選擇,可以參考各自的特點。

存儲引擎的選型:

InnoDB:

支持事務(wù)處理,支持外鍵,支持崩潰修復(fù)能力和并發(fā)控制。如果需要對事務(wù)的完整性要求比較高(比如銀行),要求實現(xiàn)并發(fā)控制(比如售票),那選擇InnoDB有很大的優(yōu)勢。如果需要頻繁的更新、刪除操作的數(shù)據(jù)庫,也可以選擇InnoDB,因為支持事務(wù)的提交(commit)和回滾(rollback)。

MyISAM:

插入數(shù)據(jù)快,空間和內(nèi)存使用比較低。如果表主要是用于插入新記錄和讀出記錄,那么選擇MyISAM能實現(xiàn)處理高效率。如果應(yīng)用的完整性、并發(fā)性要求比 較低,也可以使用。

MEMORY:

所有的數(shù)據(jù)都在內(nèi)存中,數(shù)據(jù)的處理速度快,但是安全性不高。如果需要很快的讀寫速度,對數(shù)據(jù)的安全性要求較低,不需要持久保存,可以選擇MEMOEY。它對表的大小有要求,不能建立太大的表。所以,這類數(shù)據(jù)庫只使用在相對較小的數(shù)據(jù)庫表。

  這里有一張MYSQL的簡單執(zhí)行流程圖,憑靠這張圖對MYSQL整體的一個執(zhí)行流程會有清晰的認識。

   MYSQL的邏輯架構(gòu)就介紹到這里。當(dāng)然MYSQL還有對應(yīng)的物理架構(gòu),不過這一塊主要涉及到MYSQL的各個日志文件,以及各個表的數(shù)據(jù)文件以及索引文件,在后面的章節(jié)再做介紹。

以上就是深入了解Mysql邏輯架構(gòu)的詳細內(nèi)容,更多關(guān)于Mysql邏輯架構(gòu)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL如何修改字段的默認值和空值

    MySQL如何修改字段的默認值和空值

    這篇文章主要介紹了MySQL如何修改字段的默認值和空值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • mysql 5.7.19 二進制最新安裝

    mysql 5.7.19 二進制最新安裝

    這篇文章主要介紹了mysql 5.7.19 二進制最新安裝的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • MySQL索引失效的14種場景分享

    MySQL索引失效的14種場景分享

    作為一名后端程序員,經(jīng)常會對慢查詢SQL語句進行調(diào)優(yōu),而SQL語句出現(xiàn)慢查詢,很多情況是由于索引失效造成的,本文為大家整理了14種MySQL索引失效的場景,需要的可以參考一下
    2023-05-05
  • 如何使用MySQL?Explain?分析?SQL?執(zhí)行計劃

    如何使用MySQL?Explain?分析?SQL?執(zhí)行計劃

    MySQL?提供的?EXPLAIN?工具能夠幫助我們深入了解查詢語句的執(zhí)行過程、索引使用情況以及潛在的性能瓶頸,本文將詳細介紹如何使用?EXPLAIN?分析?SQL?執(zhí)行計劃,并探討其中各個重要字段的含義以及優(yōu)化建議,感興趣的朋友一起看看吧
    2025-04-04
  • 探討MySQL 約束下的查詢功能

    探討MySQL 約束下的查詢功能

    這篇文章主要介紹了探討MySQL 約束下的查詢功能,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Windows中MySQL root用戶忘記密碼解決方案

    Windows中MySQL root用戶忘記密碼解決方案

    在實際應(yīng)用中,經(jīng)常會出現(xiàn)忘記mysql管理員用戶root的密碼的情況出現(xiàn),那么我們?nèi)绾蝸碓O(shè)置一個新密碼從而登錄數(shù)據(jù)庫呢,下面我們來探討下
    2014-07-07
  • Mysql中使用sql語句生成雪花算法Id

    Mysql中使用sql語句生成雪花算法Id

    雪花算法是一種生成全局唯一ID的分布式算法,本文主要介紹了Mysql中使用sql語句生成雪花算法Id,具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • mysql存儲emoji表情報錯的處理方法【更改編碼為utf8mb4】

    mysql存儲emoji表情報錯的處理方法【更改編碼為utf8mb4】

    這篇文章主要介紹了mysql存儲emoji表情報錯的處理方法,較為詳細的分析了通過更改mysql編碼為utf8mb4解決存儲emoji表情報錯的相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Oracle 和 mysql的9點區(qū)別

    Oracle 和 mysql的9點區(qū)別

    這篇文章主要介紹了Oracle 和 mysql的9點區(qū)別,需要的朋友可以參考下
    2014-04-04
  • 10個MySQL性能調(diào)優(yōu)的方法

    10個MySQL性能調(diào)優(yōu)的方法

    本文介紹了10個MySQL性能調(diào)優(yōu)的方法,每個方法的講解都很細致,非常實用,,需要的朋友可以參考下
    2015-07-07

最新評論

玉环县| 改则县| 绵阳市| 南华县| 永年县| 余江县| 曲阜市| 上杭县| 仙居县| 潼南县| 揭西县| 金秀| 张家川| 衡东县| 讷河市| 墨竹工卡县| 兖州市| 香港| 民乐县| 东平县| 高州市| 卢湾区| 米林县| 崇左市| 武邑县| 石渠县| 青田县| 中宁县| 横山县| 泰和县| 若尔盖县| 武强县| 玉门市| 乐平市| 湖南省| 永嘉县| 兴安盟| 台州市| 泽库县| 邯郸市| 平潭县|