Mysql數(shù)據(jù)庫常見問題說明及優(yōu)化方法提示

通過此文檔對Mysql數(shù)據(jù)庫及IBATIS使用過程中的常見問題和優(yōu)化方式進(jìn)行簡單提示性描述,指導(dǎo)研發(fā)人員正確的設(shè)計(jì)和使用數(shù)據(jù)庫它改,提高程序運(yùn)行質(zhì)量疤孕。

一、Mysql數(shù)據(jù)庫性能指標(biāo)參數(shù)

1央拖、 IO

解釋:IO有四種類型:連續(xù)讀祭阀,隨機(jī)讀,隨機(jī)寫和連續(xù)寫鲜戒,連續(xù)讀寫的IO size通常比較大专控,主要衡量吞吐量,而隨機(jī)讀寫的IO size比較小遏餐,主要衡量IOPS和響應(yīng)時(shí)間伦腐。數(shù)據(jù)庫中的全表掃描是連續(xù)讀IO,索引訪問則是典型的隨機(jī)讀IO失都,日志文件是連續(xù)寫IO柏蘑,而數(shù)據(jù)文件則是隨機(jī)寫IO。

目標(biāo):盡量減少查詢中的IO次數(shù)粹庞、提高IOPS咳焚、加快IO響應(yīng)時(shí)間

  盡量集中寫,提高吞吐量庞溜。

2革半、 CPU

解釋:數(shù)據(jù)庫在進(jìn)行order by,group by,distinct等時(shí)將進(jìn)行大量的cpu計(jì)算,造成cpu繁忙

目標(biāo):降低CPU計(jì)算

二、Mysql數(shù)據(jù)庫使用建議

1又官、 使用并正確使用索引

單列索引(where延刘、order by、join on等字段)六敬、復(fù)合索引(最左前綴原則碘赖,where和orderby同時(shí)出現(xiàn)時(shí))、在索引中完成查詢觉阅、在索引中完成排序崖疤、

2、 Mysql使用Nested Loop Join典勇,永遠(yuǎn)用小結(jié)果集驅(qū)動(dòng)大的結(jié)果集劫哼,并減少嵌套循環(huán)總次數(shù)

3、 根據(jù)實(shí)際情況確定先過濾數(shù)據(jù)再排序還是先排序再過濾數(shù)據(jù)(舉例:先分頁再JOIN)

4割笙、 盡量避免select *而只選取自身需要的Column

5权烧、 避免大量復(fù)雜Join,適度分拆對象

6伤溉、 使用join代替子查詢般码,盡量不使用mysql中的子查詢

7、 盡量少使用OR,使用union或者union all來代替or

8乱顾、 牢記在一次數(shù)據(jù)訪問中一般只能利用一個(gè)索引板祝,where多條件請使用復(fù)合索引而不是建多個(gè)單列索引

9、 更新頻繁的字段不適合創(chuàng)建索引

10走净、
使用不等于(<>或者!=)的時(shí)候,Mysql無法使用索引

11券时、
使用Like操作的時(shí)候如果條件以通配符開始(如%abc…)Mysql無法使用索引

12、
合理正確的使用應(yīng)用層緩存

13伏伯、
InnoDB會產(chǎn)生死鎖橘洞,死鎖通常都可以在應(yīng)用設(shè)計(jì)層面解決,通過調(diào)整業(yè)務(wù)流程说搅、數(shù)據(jù)庫對象設(shè)計(jì)炸枣、事務(wù)大小,以及訪問數(shù)據(jù)庫的SQL語句弄唧,絕大部分死鎖都可以避免适肠,可采用不會話中順序訪問表,批量處理數(shù)據(jù)時(shí)事先對數(shù)據(jù)排序等方式解決死鎖問題候引。

14迂猴、
正確使用悲觀鎖(for update)和樂觀鎖(版本比對)機(jī)制解決數(shù)據(jù)沖突問題

三、數(shù)據(jù)庫設(shè)計(jì)優(yōu)化建議

1背伴、 對不經(jīng)常變化的數(shù)據(jù)可進(jìn)行適當(dāng)冗余,從而盡量減少Join

2、 通過選用更“小”的數(shù)據(jù)類型減少存儲空間傻寂,使查詢相同數(shù)據(jù)需要的IO資源降低

3息尺、 通過合適的數(shù)據(jù)類型加速數(shù)據(jù)的比較

四、 Mysql數(shù)據(jù)庫使用調(diào)優(yōu)方式
1疾掰、 Explain:使用explain命令查看SQL語句的執(zhí)行計(jì)劃
可訪問以下地址學(xué)習(xí):
http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#explain
http://isky000.com/database/mysql-explain-detail
2搂誉、 Query Profiler:使用SHOW PROFILE ***命令查看SQL語句執(zhí)行時(shí)CPU和IO統(tǒng)計(jì)細(xì)節(jié),比較不同SQL語句的系統(tǒng)消耗情況
可訪問一下地址學(xué)習(xí):
http://dev.mysql.com/doc/refman/5.1/en/show-profiles.html

五静檬、 數(shù)據(jù)庫及IBATIS使用中常見問題說明(待補(bǔ)充)
1炭懊、索引是不是越多越好?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拂檩,一起剝皮案震驚了整個(gè)濱河市侮腹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌稻励,老刑警劉巖父阻,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異望抽,居然都是意外死亡加矛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門煤篙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來斟览,“玉大人,你說我怎么就攤上這事辑奈】撩” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵身害,是天一觀的道長味悄。 經(jīng)常有香客問我,道長塌鸯,這世上最難降的妖魔是什么侍瑟? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮丙猬,結(jié)果婚禮上涨颜,老公的妹妹穿的比我還像新娘。我一直安慰自己茧球,他們只是感情好庭瑰,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抢埋,像睡著了一般弹灭。 火紅的嫁衣襯著肌膚如雪督暂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天穷吮,我揣著相機(jī)與錄音逻翁,去河邊找鬼。 笑死捡鱼,一個(gè)胖子當(dāng)著我的面吹牛八回,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播驾诈,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼缠诅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了乍迄?” 一聲冷哼從身側(cè)響起管引,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎就乓,沒想到半個(gè)月后汉匙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡生蚁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年噩翠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邦投。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伤锚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出志衣,到底是詐尸還是另有隱情屯援,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布念脯,位于F島的核電站狞洋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏绿店。R本人自食惡果不足惜吉懊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望假勿。 院中可真熱鬧借嗽,春花似錦、人聲如沸转培。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浸须。三九已至惨寿,卻和暖如春邦泄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缤沦。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工虎韵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缸废。 一個(gè)月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像驶社,于是被迫代替她去往敵國和親企量。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

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