日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

簡單了解MYSQL數(shù)據(jù)庫優(yōu)化階段

瀏覽:3日期:2023-10-15 16:15:54

引言

大家在面試的時候,是否遭遇過,面試官詢問

你們是如何進行數(shù)據(jù)庫優(yōu)化的?

那這個問題應該怎么答呢?其實寫這個題材的原因是我這幾天看到各公眾號轉的一篇數(shù)據(jù)庫調(diào)優(yōu)的知識(不上鏈接了),我就稍微翻了幾下,上面動不動就來說要對數(shù)據(jù)庫進行水平拆分,我就想反問各位讀者,你們幾個人經(jīng)歷過水平拆分?現(xiàn)在很多文章,實踐性實在太差,只能說純理論分析。

這篇文章最早來自知乎的一個提問,我在其基礎上完善了一下。

第一階段 優(yōu)化sql和索引

這才是調(diào)優(yōu)的第一階段啊,為什么呢?

因為這一步成本最低啊,不需要加什么中間件。你沒經(jīng)過索引優(yōu)化和SQL優(yōu)化,就來什么水平拆分,這不是坑人么。

那步驟是什么樣呢?我說個大概

(1)用慢查詢?nèi)罩径ㄎ粓?zhí)行效率低的SQL語句

(2)用explain分析SQL的執(zhí)行計劃

(3)確定問題,采取相應的優(yōu)化措施,建立索引啊,等

我就不舉例了,因為如何優(yōu)化SQL的文章,一抓一大把,再貼過來,讀者看著也累。

第二階段 搭建緩存

在優(yōu)化sql無法解決問題的情況下,才考慮搭建緩存。畢竟你使用緩存的目的,就是將復雜的、耗時的、不常變的執(zhí)行結果緩存起來,降低數(shù)據(jù)庫的資源消耗。

這里需要注意的是:搭建緩存后,系統(tǒng)的復雜性增加了。你需要考慮很多問題,比如:

緩存和數(shù)據(jù)庫一致性問題?(比如是更緩存,還是刪緩存),這點可以看我的一篇文章《數(shù)據(jù)庫和緩存雙寫一致性方案解析》。緩存擊穿、緩存穿透、緩存雪崩問題如何解決?是否有做緩存預熱的必要。不過我猜,大部分中小公司應該都沒考慮。

第三階段 讀寫分離

緩存也搞不定的情況下,搞主從復制,上讀寫分離。在應用層,區(qū)分讀寫請求。或者利用現(xiàn)成的中間件mycat或者altas等做讀寫分離。

需要注意的是,只要你敢說你用了主從架構,有三個問題,你要準備:

(1)主從的好處?

回答:實現(xiàn)數(shù)據(jù)庫備份,實現(xiàn)數(shù)據(jù)庫負載均衡,提交數(shù)據(jù)庫可用性

(2)主從的原理?

回答:如圖所示(圖片不是自己畫的,偷懶了)

簡單了解MYSQL數(shù)據(jù)庫優(yōu)化階段

主庫有一個log dump線程,將binlog傳給從庫

從庫有兩個線程,一個I/O線程,一個SQL線程,I/O線程讀取主庫傳過來的binlog內(nèi)容并寫入到relay log,SQL線程從relay log里面讀取內(nèi)容,寫入從庫的數(shù)據(jù)庫。

(3)如何解決主從一致性?

回答:這個問題,我不建議在數(shù)據(jù)庫層面解決該問題。根據(jù)CAP定理,主從架構本來就是一種高可用架構,是無法滿足一致性的哪怕你采用同步復制模式或者半同步復制模式,都是弱一致性,并不是強一致性。所以,推薦還是利用緩存,來解決該問題。

步驟如下:

1、自己通過測試,計算主從延遲時間,建議mysql版本為5.7以后,因為mysql自5.7開始,多線程復制功能比較完善,一般能保證延遲在1s內(nèi)。不過話說回來,mysql現(xiàn)在都出到8.x了,還有人用5.x的版本么。

2、數(shù)據(jù)庫的寫操作,先寫數(shù)據(jù)庫,再寫cache,但是有效期很短,就比主從延時的時間稍微長一點。

3、讀請求的時候,先讀緩存,緩存不存在(這時主從同步已經(jīng)完成),再讀數(shù)據(jù)庫。

第四階段 利用分區(qū)表

說句實在話,你們面試的時候,其實可以略過這個階段。因為很多互聯(lián)網(wǎng)公司都不建議用分區(qū)表,我自己也不太建議用分區(qū)表,采用這個分區(qū)表,坑太多。

這里引用一下其他文章的回答:

什么是mysql的分區(qū)表?

回答:所有數(shù)據(jù)還在一個表中,但物理存儲根據(jù)一定的規(guī)則放在不同的文件中。這個是mysql支持的功能,業(yè)務代碼不需要改動,

但是sql語句需要改動,sql條件需要帶上分區(qū)的列。

缺點

(1)分區(qū)鍵設計不太靈活,如果不走分區(qū)鍵,很容易出現(xiàn)全表鎖

(2)在分區(qū)表使用ALTER TABLE … ORDER BY,只能在每個分區(qū)內(nèi)進行order by。

(3)分區(qū)表的分區(qū)鍵創(chuàng)建索引,那么這個索引也將被分區(qū)。分區(qū)鍵沒有全局索引一說。

(4)自己分庫分表,自己掌控業(yè)務場景與訪問模式,可控。分區(qū)表,研發(fā)寫了一個sql,都不確定該去哪個分區(qū)查,不太可控。...不列舉了,不推薦

第五階段 垂直拆分

上面四個階段都沒搞定,就來垂直拆分了。垂直拆分的復雜度還是比水平拆分小的。將你的表,按模塊拆分為不同的小表。大家應該都看過《大型網(wǎng)站架構演變之路》,這種類型的文章或者書籍,基本都有提到這一階段。如果你有幸能夠在什么運營商、銀行等公司上班,你會發(fā)現(xiàn)他們一個表,幾百個字段都是很常見的事情。所以,應該要進行拆分,拆分原則一般是如下三點:

(1)把不常用的字段單獨放在一張表。

(2)把常用的字段單獨放一張表

(3)經(jīng)常組合查詢的列放在一張表中(聯(lián)合索引)。

第六階段 水平拆分

OK,水平拆分是最麻煩的一個階段,拆分后會有很多的問題,我再強調(diào)一次,水平拆分一定是最最最最后的選擇。從某種意義上,我覺得還不如垂直拆分。因為你用垂直拆分,分成不同模塊后,發(fā)現(xiàn)單模塊的壓力過大,你完全可以給該模塊單獨做優(yōu)化,例如提高該模塊的機器配置等。如果是水平拆分,拆成兩張表,代碼需要變動,然后發(fā)現(xiàn)兩張表還不行,再變代碼,再拆成三張表的?水平拆分模塊間耦合性太強,成本太大,不是特別推薦。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
综合色一区二区| 欧美日韩在线二区| 丝袜国产日韩另类美女| 日韩avvvv在线播放| 国产精品手机在线播放| 成人av动漫在线观看| 精品国产午夜| 国产精品最新自拍| 亚洲精品护士| 国产亚洲精品自拍| 国产精品九九| 亚洲免费成人av在线| 成人精品动漫一区二区三区| 亚洲精品乱码| 久久久夜精品| caoporn视频在线| 国产亚洲一区| 天堂久久av| 色吊丝一区二区| 国产精品美女在线观看直播| 国产一区视频在线观看免费| 亚洲天堂日韩在线| 影院欧美亚洲| 日韩欧美一区免费| 麻豆久久久久久| 日本在线视频一区二区| 给我免费播放日韩视频| 日韩动漫一区| 丝袜亚洲精品中文字幕一区| 日韩精品dvd| 日韩精品电影| 国产成人精品一区二区三区视频 | 在线中文字幕播放| 国产剧情在线观看一区| 国产精品一区三区在线观看| 亚洲五月综合| 欧美日本二区| 国产日韩三级| 给我免费播放日韩视频| 在线日韩一区| 亚洲尤物在线| 国产福利资源一区| 成人黄色av| 国产一区清纯| 久久亚洲精品伦理| 首页国产欧美日韩丝袜| 日韩久久一区| 麻豆视频一区二区| 日韩天堂在线| 亚洲黄色影院| 国产亚洲观看| 国产高清视频一区二区| 日韩成人三级| 亚洲一级淫片| 国产精品天堂蜜av在线播放| 日韩视频二区| 丁香六月综合| 久久精品福利| 91福利精品在线观看| 日韩视频精品在线观看| 久久精品亚洲| 国产亚洲一区| 日韩av黄色在线| 首页欧美精品中文字幕| 婷婷激情综合| 久久精品青草| 女同性一区二区三区人了人一| 色综合五月天| 日韩伦理福利| 久久国产精品成人免费观看的软件| caoporn视频在线| 国产精品久久久久蜜臀| 国产一区二区三区网| 日韩成人a**站| 视频小说一区二区| 在线成人直播| 日韩在线成人| 精品一区视频| 日韩免费久久| 丝袜美腿一区二区三区| 欧美亚洲网站| 日韩免费高清| 麻豆精品91| 国产午夜精品一区在线观看| 久久福利在线| 99精品国产一区二区三区| 日韩中文欧美在线| 精品久久久亚洲| 国产视频一区在线观看一区免费| 视频一区欧美日韩| 国产精品成人**免费视频| 四虎4545www国产精品 | 快播电影网址老女人久久| 精品一区在线| 日本一区二区中文字幕| 91视频一区| 视频一区二区欧美| 国产乱码午夜在线视频| 亚洲精品极品| 日韩欧美少妇| 国产精品久久久久久模特| 免费久久久久久久久| 精品色999| 午夜久久av| 欧美日韩国产一区二区三区不卡| 蜜桃视频在线观看一区二区| 久久99高清| 欧美一区在线观看视频| 性欧美精品高清| 国产91久久精品一区二区| 国产精品多人| 日韩中文字幕无砖| 不卡中文字幕| 激情亚洲影院在线观看| 国产精品一区二区99| 亚洲欧美日韩视频二区| 老司机免费视频一区二区三区| 日韩一级欧洲| 五月天av在线| 日韩电影在线视频| 欧美日韩一区二区三区四区在线观看| 久久中文字幕二区| 免费污视频在线一区| 日韩不卡在线观看日韩不卡视频| 日韩免费福利视频| 麻豆视频在线观看免费网站黄 | 夜久久久久久| 亚洲午夜91| 国户精品久久久久久久久久久不卡| 97在线精品| 日韩一区二区三区免费| 不卡福利视频| 青青久久av| av中文字幕在线观看第一页| 久久精品系列| 成人亚洲欧美| 99久久婷婷这里只有精品| 婷婷成人在线| 首页欧美精品中文字幕| 日韩av一区二| 国产精品久久久久久久免费软件| 国产精品qvod| www.51av欧美视频| 久久影院一区| 日韩精品一区第一页| 深夜福利亚洲| 精品资源在线| 欧美日韩国产高清| 亚洲一级特黄| 亚洲乱码视频| 精品国产中文字幕第一页| 99久久夜色精品国产亚洲1000部 | 欧美亚洲综合视频| 久久久久久一区二区| 欧美日韩一二三四| 色婷婷成人网| 婷婷综合六月| 日韩高清不卡在线| 日韩在线短视频| 欧美亚洲国产日韩| 久久久久中文| 五月亚洲婷婷| 国产资源在线观看入口av| 亚洲一区有码| 不卡福利视频| 亚洲欧美日本国产| 成人免费电影网址| 国产精品中文字幕制服诱惑| 欧美日韩国产免费观看视频| 国产精品一区二区美女视频免费看 | 国产精品99久久免费| 一区二区视频欧美| 欧美成人一二区| 国产免费成人| 亚洲精品国产嫩草在线观看| 日本不卡视频一二三区| 欧美精品一二| 麻豆视频在线观看免费网站黄| 亚洲一二av| 自拍日韩欧美| 久久久久蜜桃| 91亚洲国产高清| 久久麻豆视频| 日韩欧美2区| 丝袜亚洲另类欧美| 99精品在线免费在线观看| 国内一区二区三区| 国产日韩欧美一区| 亚洲欧美日韩国产一区二区| 免费高潮视频95在线观看网站| 国产精品一线| 久久精品一区| av中文字幕在线观看第一页| 黄色网一区二区| 国产精品亚洲片在线播放| 亚洲精品第一| 91成人精品在线| 国产乱码精品一区二区三区四区| 青青伊人久久| 国产精品久久久亚洲一区|