馬士兵 MySQL+JDBC 分享筆記

如何調(diào)優(yōu)MySQL

首先:選擇最合適的字段屬性迁杨。

MySQL在創(chuàng)建數(shù)據(jù)庫時(shí),數(shù)據(jù)庫中的表越小越好凄硼,從而提高查詢速度铅协。然而,現(xiàn)實(shí)往往不盡人意摊沉。每天可能產(chǎn)生的數(shù)據(jù)量在數(shù)萬或數(shù)十萬狐史。此時(shí),在創(chuàng)建表時(shí)應(yīng)充分考慮字段長度说墨。例如骏全,在存儲(chǔ)電話號碼時(shí),如果將其寫為char(255)尼斧,顯然會(huì)給數(shù)據(jù)庫帶來大量不必要的空間浪費(fèi)姜贡。Char(11)可以解決這個(gè)問題。

第二:使用連接而不是子查詢棺棵。

子查詢的優(yōu)點(diǎn)是可以使用簡單的選擇語句來完成具有復(fù)雜邏輯的查詢操作楼咳,并且可以避免死鎖。但有時(shí)您也可以考慮使用連接查詢來完成它烛恤。畢竟母怜,join查詢不需要像子查詢那樣在內(nèi)存中創(chuàng)建一個(gè)臨時(shí)表,然后從臨時(shí)表中過濾數(shù)據(jù)缚柏,從而加快查詢速度苹熏。

https://pan.baidu.com/s/1d22iuAit2eKZt_gJbmBWnw?pwd=wqhj?

提取碼: wqhj?

第三:使用聯(lián)合查詢。

Union有Union的意思。它可以將多個(gè)選擇語句的查詢結(jié)果組合成一個(gè)查詢柜裸,取代手動(dòng)創(chuàng)建臨時(shí)表的過程缕陕。此外粱锐,union還有另一個(gè)優(yōu)點(diǎn)疙挺,即在使用后自動(dòng)刪除,完全不占用內(nèi)存空間怜浅。這是真正的“當(dāng)事情結(jié)束铐然,刷你的衣服,不要碰你的身體”恶座。

第四:通過交易進(jìn)行管理搀暑。

事務(wù)在數(shù)據(jù)庫調(diào)優(yōu)中是一個(gè)古老的概念。事務(wù)由于其四個(gè)特點(diǎn)跨琳,是不可避免的調(diào)優(yōu)方法之一自点,它可以保證數(shù)據(jù)的完整性和一致性÷鋈茫可以用一句話來概括:“走不到盡頭桂敛,就回到原點(diǎn)〗η保”

第五:鎖好表术唬。

事務(wù)處理雖然可以保證數(shù)據(jù)庫的完整性和一致性,但也存在一些不足滚澜。用戶只能等待事務(wù)本身完成粗仓,因?yàn)槠渌胁僮鞫伎梢岳^續(xù),直到事務(wù)被發(fā)出设捐。如果用戶訪問的次數(shù)特別大借浊,會(huì)造成系統(tǒng)嚴(yán)重的延遲。

因此萝招,鎖表的方法可以確保所有被locktable修改過的查詢語句在執(zhí)行unlocktables指令之前不會(huì)被插入蚂斤、刪除和修改。

第六:合理使用外鍵即寒。

外鍵的作用是確保表之間的引用完整性橡淆。使用外鍵可以有效地增加數(shù)據(jù)之間的相關(guān)性。

第七:正確使用索引母赵。

索引是提高數(shù)據(jù)庫性能最常用的方法逸爵。正確使用索引可以大大提高查詢效率。

但是凹嘲,不可能為所有列創(chuàng)建索引师倔,因?yàn)檫@會(huì)占用內(nèi)存,而且維護(hù)起來很麻煩周蹭。它是一把雙刃劍趋艘,所以需要根據(jù)實(shí)際情況正確使用索引疲恢。

第八:優(yōu)化查詢語句。

一個(gè)好的查詢語句可以明顯提高查詢效率瓷胧,否則就會(huì)慢到懷疑程序是否寫錯(cuò)了显拳。

那么什么樣的查詢語句是好的呢?請參考以下要求

1. 在進(jìn)行比較時(shí),盡量在相同的字段之間進(jìn)行比較搓萧。例如杂数,帶索引的int字段不能與bigint字段進(jìn)行比較。

2. 不要在已索引的字段上使用函數(shù)瘸洛,因?yàn)檫@會(huì)使索引無效揍移。

3.在查詢時(shí)不鼓勵(lì)使用like語句,因?yàn)樗鼘⑾南到y(tǒng)的部分性能

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末反肋,一起剝皮案震驚了整個(gè)濱河市那伐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌石蔗,老刑警劉巖罕邀,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異抓督,居然都是意外死亡燃少,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門铃在,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阵具,“玉大人,你說我怎么就攤上這事定铜⊙粢海” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵揣炕,是天一觀的道長帘皿。 經(jīng)常有香客問我,道長畸陡,這世上最難降的妖魔是什么鹰溜? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮丁恭,結(jié)果婚禮上曹动,老公的妹妹穿的比我還像新娘。我一直安慰自己牲览,他們只是感情好墓陈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般贡必。 火紅的嫁衣襯著肌膚如雪兔港。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天仔拟,我揣著相機(jī)與錄音衫樊,去河邊找鬼。 笑死理逊,一個(gè)胖子當(dāng)著我的面吹牛橡伞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晋被,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼刚盈!你這毒婦竟也來了羡洛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤藕漱,失蹤者是張志新(化名)和其女友劉穎欲侮,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肋联,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡威蕉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了橄仍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片韧涨。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖侮繁,靈堂內(nèi)的尸體忽然破棺而出虑粥,到底是詐尸還是另有隱情,我是刑警寧澤宪哩,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布娩贷,位于F島的核電站,受9級特大地震影響锁孟,放射性物質(zhì)發(fā)生泄漏彬祖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一品抽、第九天 我趴在偏房一處隱蔽的房頂上張望储笑。 院中可真熱鬧,春花似錦桑包、人聲如沸南蓬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赘方。三九已至烧颖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窄陡,已是汗流浹背炕淮。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留跳夭,地道東北人涂圆。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像币叹,于是被迫代替她去往敵國和親润歉。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

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

  • 今天看到一位朋友寫的mysql筆記總結(jié)颈抚,覺得寫的很詳細(xì)很用心踩衩,這里轉(zhuǎn)載一下,供大家參考下贩汉,也希望大家能關(guān)注他原文地...
    信仰與初衷閱讀 4,730評論 0 30
  • 1.鎖有兩種類型:讀鎖和寫鎖驱富。讀鎖是共享的,或者說是相互不阻塞的匹舞,多個(gè)客戶在同一時(shí)刻可以同時(shí)讀取同一資源褐鸥,而互不干...
    奔跑的Robi閱讀 306評論 0 0
  • 一、MySQL架構(gòu)與歷史 A.并發(fā)控制 1.共享鎖(shared lock赐稽,讀鎖):共享的叫榕,相互不阻塞的 2.排他...
    ZyBlog閱讀 19,835評論 3 177
  • 全書的重點(diǎn)在四五六章:如何建表、如何建索引又憨、如何查詢翠霍。第一章講解了一些基本概念:鎖與事物隔離 重中之重:4.1數(shù)據(jù)...
    AbrahamW閱讀 986評論 0 0
  • 打造扛得住的MySQL數(shù)據(jù)庫架構(gòu) 第一章 實(shí)例和故事 1-1 什么決定了電商雙11大促的成敗 web服務(wù)器可以隨意...
    MrJealous閱讀 2,283評論 2 9