丁奇-MySQL實戰(zhàn)讀書筆記1

這個專欄的內(nèi)容是我工作以來看過講MySQL最深入而且最細致的,作者丁奇是前阿里資深技術(shù)專家,和褚霸(霸爺)一起研究數(shù)據(jù)庫7年之久,我覺得很有必要把這個專欄重新讀一下并做好筆記,以求共勉。
特別注意由于丁奇在數(shù)據(jù)庫領(lǐng)域比較資深崔列,所以很多知識他可能認為你至少應(yīng)該是了解的,如果完全不了解某個知識點旺遮,建議先去網(wǎng)上找找資料赵讯,對知識點有個大致的輪廓。
專欄地址:
https://time.geekbang.org/column/intro/139

首先是MySQL的基本架構(gòu)示意圖:


image.png

存儲引擎層:

現(xiàn)在最常用的存儲引擎是 InnoDB耿眉,它從 MySQL 5.5.5 版本開始成為了默認存儲引擎边翼。

連接器:

mysql -h$ip -P$port -u$user -p

連接器判斷用戶名和密碼,強烈建議密碼不要直接加載-p后面鸣剪,不安全伪朽。連接器在連接建立之后授予用戶權(quán)限梗摇,就算用戶修改了權(quán)限,本次連接中也不會生效饲漾。

客戶端如果太長時間沒動靜鞍盗,連接器就會自動將它斷開津肛。這個時間是由參數(shù) wait_timeout 控制的嫉戚,默認值是 8 小時棒呛。

長期使用長連接可能會導(dǎo)致連接對象內(nèi)存暴漲(因為內(nèi)存釋放是在連接斷開之后),如果你用的是 MySQL 5.7 或更新版本饺鹃,可以在每次執(zhí)行一個比較大的操作后莫秆,通過執(zhí)行mysql_reset_connection 來重新初始化連接資源。這個過程不需要重連和重新做權(quán)限驗證悔详,但是會將連接恢復(fù)到剛剛創(chuàng)建完時的狀態(tài)。

查詢緩存

執(zhí)行過的語句及其結(jié)果可能會以 key-value 對的形式惹挟,被直接緩存在內(nèi)存中茄螃。key 是查詢的語句,value 是查詢的結(jié)果连锯。
不要使用查詢緩存归苍,因為查詢緩存往往弊大于利。
只要有對一個表的更新运怖,這個表上所有的查詢緩存都會被清空拼弃。除非你的業(yè)務(wù)就是有一張靜態(tài)表,很長時間才會更新一次摇展。MySQL 8.0 版本直接將查詢緩存的整塊功能刪掉了

建議使用案例:

將參數(shù) query_cache_type 設(shè)置成 DEMAND吻氧,這樣對于默認的 SQL 語句都不使用查詢緩存。

mysql> select SQL_CACHE * from T where ID=10;

分析器

詞法分析 - 識別出里面的字符串分別是什么盯孙,代表什么
語法分析 - 判斷你輸入的這個 SQL 語句是否滿足 MySQL 語法

優(yōu)化器

優(yōu)化器是在表里面有多個索引的時候鲁森,決定使用哪個索引;或者在一個語句有多表關(guān)聯(lián)(join)的時候振惰,決定各個表的連接順序歌溉。

課后練習(xí)題:

如果表 T 中沒有字段 k,而你執(zhí)行了這個語句 select * from T where k=1, 那肯定是會報“不存在這個列”的錯誤: “Unknown column ‘k’ in ‘where clause’”骑晶。你覺得這個錯誤是在我們上面提到的哪個階段報出來的呢痛垛?

分析器,《高性能mysql》里提到解析器和預(yù)處理器桶蛔。
解析器處理語法和解析查詢, 生成一課對應(yīng)的解析樹榜晦。
預(yù)處理器進一步檢查解析樹的合法。比如: 數(shù)據(jù)表和數(shù)據(jù)列是否存在, 別名是否有歧義等羽圃。如果通過則生成新的解析樹乾胶,再提交給優(yōu)化器。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末朽寞,一起剝皮案震驚了整個濱河市识窿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脑融,老刑警劉巖喻频,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異肘迎,居然都是意外死亡甥温,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門妓布,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姻蚓,“玉大人,你說我怎么就攤上這事匣沼≌玻” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵释涛,是天一觀的道長加叁。 經(jīng)常有香客問我,道長唇撬,這世上最難降的妖魔是什么它匕? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮窖认,結(jié)果婚禮上豫柬,老公的妹妹穿的比我還像新娘告希。我一直安慰自己,他們只是感情好轮傍,可當我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布暂雹。 她就那樣靜靜地躺著,像睡著了一般创夜。 火紅的嫁衣襯著肌膚如雪杭跪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天驰吓,我揣著相機與錄音涧尿,去河邊找鬼。 笑死檬贰,一個胖子當著我的面吹牛姑廉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播翁涤,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼桥言,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了葵礼?” 一聲冷哼從身側(cè)響起号阿,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸳粉,沒想到半個月后扔涧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡届谈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年枯夜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片艰山。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡湖雹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出程剥,到底是詐尸還是另有隱情劝枣,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布织鲸,位于F島的核電站,受9級特大地震影響溪胶,放射性物質(zhì)發(fā)生泄漏搂擦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一哗脖、第九天 我趴在偏房一處隱蔽的房頂上張望瀑踢。 院中可真熱鬧扳还,春花似錦、人聲如沸橱夭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棘劣。三九已至俏让,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間茬暇,已是汗流浹背首昔。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留糙俗,地道東北人勒奇。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像巧骚,于是被迫代替她去往敵國和親赊颠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容