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

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql體系結(jié)構(gòu)和InnoDB存儲引擎知識有什么

2024-07-24 12:33:51
字體:
供稿:網(wǎng)友
  Server 層包括連接器、查詢緩存、分析器、優(yōu)化器、執(zhí)行器等,涵蓋 MySQL 的大多數(shù)核心服務(wù)功能,以及所有的內(nèi)置函數(shù)(如日期、時間、數(shù)學和加密函數(shù)等),所有跨存儲引擎的功能都在這一層實現(xiàn),比如存儲過程、觸發(fā)器、視圖等。
  
  空閑連接默認8小時會被斷開,可以由wait_timeout參數(shù)配置。
 
  在數(shù)據(jù)庫中,長連接是指連接成功后,如果客戶端持續(xù)有請求,則一直使用同一個連接。短連接則是指每次執(zhí)行完很少的幾次查詢就斷開連接,下次查詢再重新建立一個。
 
  由于建立連接比較耗資源,所以建議盡量使用長連接,但是使用長連接后,MySQL 占用內(nèi)存漲得特別快,這是因為 MySQL 在執(zhí)行過程中臨時使用的內(nèi)存是管理在連接對象里面的。這些資源會在連接斷開的時候才釋放。所以如果長連接累積下來,可能導(dǎo)致內(nèi)存占用太大,被系統(tǒng)強行殺掉(OOM),從現(xiàn)象看就是 MySQL 異常重啟了。
  
  處理過程如下:
 
  用戶發(fā)送請求到 tomcat ,通過 tomcat 鏈接池和 mysql 連接池建立連接,然后通過連接發(fā)送 SQL 語句到 MySQL;
  MySQL 有一個單獨的監(jiān)聽線程,讀取到請求數(shù)據(jù),得到連接中請求的SQL語句;
  將獲取到的SQL數(shù)據(jù)發(fā)送給SQL接口去執(zhí)行;
  SQL接口將SQL發(fā)送給SQL解析器進行解析;
  將解析好的SQL發(fā)送給查詢優(yōu)化器,找到最優(yōu)的查詢路勁,然后發(fā)給執(zhí)行器;
  執(zhí)行器根據(jù)優(yōu)化后的執(zhí)行方案調(diào)用存儲引擎的接口按照一定的順序和步驟進行執(zhí)行。
  舉個例子,比如執(zhí)行器可能會先調(diào)用存儲引擎的一個接口,去獲取“users”表中的第一行數(shù)據(jù),然后判斷一下這個數(shù)據(jù)的 “id”字段的值是否等于我們期望的一個值,如果不是的話,那就繼續(xù)調(diào)用存儲引擎的接口,去獲取“users”表的下一行數(shù)據(jù)。 就是基于上述的思路,執(zhí)行器就會去根據(jù)我們的優(yōu)化器生成的一套執(zhí)行計劃,然后不停的調(diào)用存儲引擎的各種接口去完成SQL 語句的執(zhí)行計劃,大致就是不停的更新或者提取一些數(shù)據(jù)出來。

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平和县| 崇礼县| 灯塔市| 广平县| 乌鲁木齐市| 平昌县| 泊头市| 武邑县| 蒙自县| 夏邑县| 阳泉市| 郁南县| 汪清县| 泰兴市| 绩溪县| 新民市| 龙南县| 图们市| 开远市| 滦南县| 雷波县| 滕州市| 舒兰市| 奉化市| 珠海市| 乌兰浩特市| 海丰县| 安义县| 泸水县| 桓台县| 岐山县| 黄陵县| 枣强县| 桐梓县| 许昌市| 晋城| 辽阳县| 闵行区| 曲沃县| 敖汉旗| 古蔺县|