电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

簡單了解MYSQL數據庫優化階段

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

引言

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

你們是如何進行數據庫優化的?

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

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

第一階段 優化sql和索引

這才是調優的第一階段啊,為什么呢?

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

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

(1)用慢查詢日志定位執行效率低的SQL語句

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

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

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

第二階段 搭建緩存

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

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

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

第三階段 讀寫分離

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

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

(1)主從的好處?

回答:實現數據庫備份,實現數據庫負載均衡,提交數據庫可用性

(2)主從的原理?

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

簡單了解MYSQL數據庫優化階段

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

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

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

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

步驟如下:

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

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

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

第四階段 利用分區表

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

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

什么是mysql的分區表?

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

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

缺點

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

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

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

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

第五階段 垂直拆分

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

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

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

(3)經常組合查詢的列放在一張表中(聯合索引)。

第六階段 水平拆分

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

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

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 99文库_实习生实用的范文资料文库站 | 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | 智慧养老_居家养老_社区养老_杰佳通 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 锌合金压铸-铝合金压铸厂-压铸模具-冷挤压-誉格精密压铸 | 切铝机-数控切割机-型材切割机-铝型材切割机-【昆山邓氏精密机械有限公司】 | 旋片真空泵_真空泵_水环真空泵_真空机组-深圳恒才机电设备有限公司 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 锡膏喷印机-全自动涂覆机厂家-全自动点胶机-视觉点胶机-深圳市博明智控科技有限公司 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 清水混凝土修复_混凝土色差修复剂_混凝土色差调整剂_清水混凝土色差修复_河南天工 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 昊宇水工|河北昊宇水工机械工程有限公司| 广东佛电电器有限公司|防雷开关|故障电弧断路器|智能量测断路器 广东西屋电气有限公司-广东西屋电气有限公司 | 自动化生产线-自动化装配线-直流电机自动化生产线-东莞市慧百自动化有限公司 | 数码管_LED贴片灯_LED数码管厂家-无锡市冠卓电子科技有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 高压贴片电容|贴片安规电容|三端滤波器|风华电容代理南京南山 | 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 | 河南15年专业网站建设制作设计,做网站就找郑州启凡网络公司 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 光伏支架成型设备-光伏钢边框设备-光伏设备厂家 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | 碳纤维布-植筋胶-灌缝胶-固特嘉加固材料公司 | 智能交通网_智能交通系统_ITS_交通监控_卫星导航_智能交通行业 | 浙江美尔凯特智能厨卫股份有限公司 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 |