數(shù)據(jù)庫優(yōu)化

分類

數(shù)據(jù)庫優(yōu)化主要有4個(gè) 方面

  1. sql以及索引
    結(jié)構(gòu)良好的sql 毁涉,建立有效的索引,適量配紫,結(jié)構(gòu)良好的sql垂蜗,選擇結(jié)構(gòu)最優(yōu)的sql,是最多的優(yōu)化方式翘鸭,
  • 數(shù)據(jù)庫表結(jié)構(gòu)
    根據(jù)范式設(shè)計(jì)表結(jié)構(gòu),盡量減少 冗余戳葵,對(duì)查詢有益就乓,
  • 系統(tǒng)配置
    在Linux系統(tǒng)下面,tcp連接數(shù)拱烁,打開文件數(shù)限制档址,最重要的就是文件數(shù),表都是文件邻梆,打開表就是打開文件守伸,如果上限就不行了
  • 硬件
    內(nèi)存越大,數(shù)據(jù)庫性能越好浦妄,cpu核數(shù)越多不一定越好尼摹,IO設(shè)備對(duì)數(shù)據(jù)庫影響很大

數(shù)據(jù)庫sql優(yōu)化

  1. 如何發(fā)現(xiàn)有問題的sql
    使用慢查詢?nèi)罩緦?duì)有效率問題的sql進(jìn)行監(jiān)控,


    image.png

    有查詢執(zhí)行信息剂娄,執(zhí)行時(shí)間蠢涝,內(nèi)容,主機(jī)信息

  • 慢查詢?nèi)罩痉治?br> mysqldumpslow 工具阅懦,pt-query-digest慢查日志分析工具
    其中pt-query-digest分析頁面如下


    image.png
    • explain 命令
      explain select count(*) from user;
      可以看出加不加索引會(huì)明顯變化掃描的行數(shù)
  • 子查詢優(yōu)化和二,把子查詢優(yōu)化為用join鏈接的查詢,如可以把
select * from t where t.id in (select t1.tid from t1);

變?yōu)?/p>

select * from t join t1 on t.id=t1.tid;

注意:當(dāng)t1出現(xiàn)重復(fù)的時(shí)候耳胎,上面會(huì)出現(xiàn)兩個(gè)重復(fù)的結(jié)果惯吕,加上distinct命令即可

  • Group By 優(yōu)化
  • limit查詢優(yōu)化
    limit一般會(huì)伴隨order by從句使用
  1. 一般用主鍵來作為order by排序字段,因?yàn)橹麈I一般都有索引怕午,索引已經(jīng)排好序了
  • 記錄上次返回的主鍵废登,在下次查詢時(shí)使用主鍵過濾
  • 索引優(yōu)化
  1. 如何選擇合適的列建立索引
    1. 在where從句,group by 從句郁惜,order by 從句堡距,on從句中出現(xiàn)的列
    • 索引字段越小越好
    • 離散度大的列放在聯(lián)合索引前面,離散度就是不一樣個(gè)數(shù)占總個(gè)數(shù)的比重
  • 索引的維護(hù)及優(yōu)化---重復(fù)及冗余索引
    去除冗余的索引,不需要的索引

數(shù)據(jù)庫表結(jié)構(gòu)優(yōu)化

  • 選擇合適的數(shù)據(jù)類型

  • 范式化和反范式化
    范式化是為了減少數(shù)據(jù)冗余羽戒,節(jié)省空間
    反范式化是為了用空間換取時(shí)間缤沦,提高sql查詢的效率,節(jié)約時(shí)間

  • 表的垂直拆分
    所謂垂直才分易稠,就是把原來一個(gè)有很多列的表拆分成多個(gè)表疚俱,這解決了表的寬度問題。通常垂直拆分可以按照以下原則進(jìn)行:

    • 把不常使用的字段單獨(dú)存放到一個(gè)表中
    • 把大字段獨(dú)立存放到一個(gè)表中
    • 把經(jīng)常一起使用的字段放到一起
  • 表的水平拆分
    按照id進(jìn)行hash散列缩多,水平拆分
    這樣會(huì)造成一個(gè)問題呆奕,就是有些后臺(tái)統(tǒng)計(jì)業(yè)務(wù)需要夸分區(qū)統(tǒng)計(jì),我們可以用一個(gè)匯總表來統(tǒng)計(jì)衬吆,因?yàn)楹笈_(tái)業(yè)務(wù)時(shí)效性沒有那么急迫梁钾,把前后臺(tái)業(yè)務(wù)拆分。有助于系統(tǒng)分類處理逊抡,統(tǒng)計(jì)以及報(bào)表操作

系統(tǒng)配置優(yōu)化

  1. 操作系統(tǒng)優(yōu)化
    打開文件數(shù)量的限制等內(nèi)容
  2. Mysql數(shù)據(jù)庫本身的配置優(yōu)化
    一般使用配置文件的方式來配置數(shù)據(jù)庫
    innodb_buffer_pool_size 參數(shù)姆泻,是innodb的緩沖池的大小
    innodb_buffer_pool_instances 緩沖池的個(gè)數(shù),增加查詢并發(fā)性冒嫡,在5.5版本以后的
    innodb_flush_log_at_trx_commit,對(duì)IO效率影響很大拇勃,緩沖區(qū)刷入磁盤的策略
    innodb_file_per_table,關(guān)鍵參數(shù),控制每個(gè)表使用獨(dú)立的表空間

服務(wù)器硬件優(yōu)化

如何選擇CPU?

  1. Mysql有些工作只能使用單核
  2. mysql有最大利用cpu核數(shù)限制孝凌,超過之后沒有用處
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末方咆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蟀架,更是在濱河造成了極大的恐慌瓣赂,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件片拍,死亡現(xiàn)場離奇詭異煌集,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)捌省,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門苫纤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纲缓,你說我怎么就攤上這事卷拘。” “怎么了色徘?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵恭金,是天一觀的道長操禀。 經(jīng)常有香客問我褂策,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任斤寂,我火速辦了婚禮耿焊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘遍搞。我一直安慰自己罗侯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布溪猿。 她就那樣靜靜地躺著钩杰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诊县。 梳的紋絲不亂的頭發(fā)上讲弄,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音依痊,去河邊找鬼避除。 笑死,一個(gè)胖子當(dāng)著我的面吹牛胸嘁,可吹牛的內(nèi)容都是我干的瓶摆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼性宏,長吁一口氣:“原來是場噩夢啊……” “哼群井!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起毫胜,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤蝌借,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后指蚁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體菩佑,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年凝化,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稍坯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搓劫,死狀恐怖瞧哟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情枪向,我是刑警寧澤勤揩,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站秘蛔,受9級(jí)特大地震影響陨亡,放射性物質(zhì)發(fā)生泄漏傍衡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一负蠕、第九天 我趴在偏房一處隱蔽的房頂上張望蛙埂。 院中可真熱鬧,春花似錦遮糖、人聲如沸绣的。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屡江。三九已至,卻和暖如春赛不,著一層夾襖步出監(jiān)牢的瞬間盼理,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國打工俄删, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宏怔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓畴椰,卻偏偏與公主長得像臊诊,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子斜脂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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