工程師
互聯(lián)網(wǎng)
傳統(tǒng)金融
數(shù)據(jù)庫(kù)
金融
企業(yè)級(jí)
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

XC數(shù)據(jù)庫(kù)問(wèn)題SQL挖掘與性能優(yōu)化(TiDB、GoldenDB、TDSQL、OcenBase)

胡亞

曾任職某大廠(chǎng)架構(gòu)師、曾任數(shù)據(jù)庫(kù)、大數(shù)據(jù)、云計(jì)算負(fù)責(zé)人等;負(fù)責(zé)過(guò)相關(guān)互聯(lián)網(wǎng)企業(yè)PB級(jí)數(shù)據(jù)庫(kù)、大數(shù)據(jù)、云建設(shè)等重點(diǎn)項(xiàng)目。在多家公司任數(shù)據(jù)庫(kù)、云技術(shù)顧問(wèn);為上百家金融、電信、交通、能源、電力等行業(yè)做數(shù)據(jù)庫(kù)、大數(shù)據(jù)、云原生、隱私計(jì)算等咨詢(xún)、遷移等培訓(xùn),有豐富的實(shí)戰(zhàn)和培訓(xùn)經(jīng)驗(yàn)。
并針對(duì)工行、建行、農(nóng)行、中行、招商、浦發(fā)、平安等金融客戶(hù)做數(shù)字化轉(zhuǎn)型、數(shù)據(jù)庫(kù)、大數(shù)據(jù)、微服務(wù)、云計(jì)算落地培訓(xùn)和顧問(wèn)

《信創(chuàng)數(shù)據(jù)庫(kù)應(yīng)用場(chǎng)景實(shí)踐、SQL挖掘與性能優(yōu)化(GauessDB、TiDB、GoldenDB、TDSQL、OcenBase、達(dá)夢(mèng)等)》
《數(shù)據(jù)庫(kù)應(yīng)用場(chǎng)景實(shí)踐、SQL挖掘與性能優(yōu)化(、MySQL、Oracle、PGSQL、SQL Server)》
《K8S-容器實(shí)踐應(yīng)用培訓(xùn)》
《IaaS云、虛擬化、存儲(chǔ)平臺(tái)實(shí)踐培訓(xùn)》
《大數(shù)據(jù)實(shí)踐培訓(xùn)》
《DevOps實(shí)踐應(yīng)用培訓(xùn)》
《安全安全實(shí)踐培訓(xùn)》
《應(yīng)用測(cè)試實(shí)踐培訓(xùn)》

曾任職某大廠(chǎng)架構(gòu)師、曾任數(shù)據(jù)庫(kù)、大數(shù)據(jù)、云計(jì)算負(fù)責(zé)人等;負(fù)責(zé)過(guò)相關(guān)互聯(lián)網(wǎng)企業(yè)PB級(jí)數(shù)據(jù)庫(kù)、大數(shù)據(jù)、云建設(shè)等重點(diǎn)項(xiàng)目。在多家公司任數(shù)據(jù)庫(kù)、云技術(shù)顧問(wèn);為上百家金融、電信、交通、能源、電力等行業(yè)做數(shù)據(jù)庫(kù)、大數(shù)據(jù)、云原生、隱私計(jì)算等咨詢(xún)、遷移等培訓(xùn),有豐富的實(shí)戰(zhàn)和培訓(xùn)經(jīng)驗(yàn)。 并針對(duì)工行、建行、農(nóng)行、中行、招商、浦發(fā)、平安等金融客戶(hù)做數(shù)字化轉(zhuǎn)型、數(shù)據(jù)庫(kù)、大數(shù)據(jù)、微服務(wù)、云計(jì)算落地培訓(xùn)和顧問(wèn) 《信創(chuàng)數(shù)據(jù)庫(kù)應(yīng)用場(chǎng)景實(shí)踐、SQL挖掘與性能優(yōu)化(GauessDB、TiDB、GoldenDB、TDSQL、OcenBase、達(dá)夢(mèng)等)》 《數(shù)據(jù)庫(kù)應(yīng)用場(chǎng)景實(shí)踐、SQL挖掘與性能優(yōu)化(、MySQL、Oracle、PGSQL、SQL Server)》 《K8S-容器實(shí)踐應(yīng)用培訓(xùn)》 《IaaS云、虛擬化、存儲(chǔ)平臺(tái)實(shí)踐培訓(xùn)》 《大數(shù)據(jù)實(shí)踐培訓(xùn)》 《DevOps實(shí)踐應(yīng)用培訓(xùn)》 《安全安全實(shí)踐培訓(xùn)》 《應(yīng)用測(cè)試實(shí)踐培訓(xùn)》

課程費(fèi)用

6800.00 /人

課程時(shí)長(zhǎng)

2

成為教練

課程簡(jiǎn)介

本課程是基于金融行業(yè)技術(shù)實(shí)踐和業(yè)務(wù)應(yīng)用場(chǎng)景,結(jié)合當(dāng)前企業(yè)級(jí)應(yīng)用場(chǎng)景進(jìn)行綜合性課程設(shè)計(jì)。從專(zhuān)業(yè)知識(shí),專(zhuān)業(yè)技能,通用技能多維度全面培養(yǎng)數(shù)據(jù)庫(kù)優(yōu)化人才的的綜合能力。

目標(biāo)收益

基于金融行業(yè)大規(guī)模應(yīng)用為基礎(chǔ)的真實(shí)架構(gòu)案例驅(qū)動(dòng)教學(xué);
大規(guī)模分布式/國(guó)產(chǎn)化數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)與真實(shí)案例實(shí)踐;
構(gòu)筑頂級(jí)能力維度模型,帶你快速成長(zhǎng)為數(shù)據(jù)化轉(zhuǎn)型所需的復(fù)合型人才。

培訓(xùn)對(duì)象

研發(fā)人員 數(shù)據(jù)庫(kù)工程師等

課程大綱

SQL優(yōu)化本質(zhì)和優(yōu)化技術(shù)(一方面闡述分布式數(shù)據(jù)庫(kù)架構(gòu)特點(diǎn)和優(yōu)化理論,另一方面著重分析幾款分布式數(shù)據(jù)庫(kù)技術(shù)共同點(diǎn)和不同點(diǎn)(通過(guò)案例分析講解);3小時(shí) ?理解SQL在分布式數(shù)據(jù)庫(kù)下查詢(xún)的工作原理
?SQL查詢(xún)的執(zhí)行過(guò)程
?分布式數(shù)據(jù)庫(kù)引擎解析、執(zhí)行SQL語(yǔ)句
?SQL優(yōu)化本質(zhì)和優(yōu)化技術(shù)
?數(shù)據(jù)訪(fǎng)問(wèn)方式效率的對(duì)比:全表掃描與索引掃描
?多表連接的執(zhí)行計(jì)劃、適用場(chǎng)景與優(yōu)劣勢(shì)
?嵌套循環(huán)
?合并連接
?哈希連接
?三種表連接案例講解(從業(yè)務(wù)場(chǎng)景分析)
?分析和診斷SQL查詢(xún)性能
?SQL調(diào)優(yōu)方法論-執(zhí)行計(jì)劃深度分析
?從案例中辨別低效執(zhí)行計(jì)劃
?優(yōu)化SQL查詢(xún)語(yǔ)句
?選擇合適的連接類(lèi)型
?避免使用子查詢(xún)、改用連接Join(那些場(chǎng)景下)
?避免使用復(fù)雜的查詢(xún)(多表關(guān)聯(lián)性能為什么差)
?索引技術(shù):應(yīng)用場(chǎng)景以及對(duì)業(yè)務(wù)數(shù)據(jù)查詢(xún)的影響
?索引類(lèi)型和工作原理
?分析索引覆蓋
?避免過(guò)度索引
?定期維護(hù)索引
?案例講解
?索引碎片導(dǎo)致執(zhí)行計(jì)劃問(wèn)題分析和解決
?理解SQL的執(zhí)行過(guò)程與性能瓶頸
?并發(fā)控制和鎖的實(shí)現(xiàn)方式
?理解分布式數(shù)據(jù)庫(kù)并發(fā)機(jī)制
?隔離級(jí)別對(duì)分布式數(shù)據(jù)庫(kù)影響
?減少鎖的競(jìng)爭(zhēng),優(yōu)化事務(wù)的粒度
?樂(lè)觀(guān)鎖實(shí)現(xiàn)策略(那些場(chǎng)景使用)
針對(duì)不同數(shù)據(jù)庫(kù)特定優(yōu)化策略
SQL性能瓶頸分析和解決(通過(guò)執(zhí)行計(jì)劃分解不同分布式數(shù)據(jù)庫(kù)使用方式,能快速掌握分析辨識(shí)低效的SQL執(zhí)行問(wèn)題癥狀) 3小時(shí) ?SQL性能問(wèn)題定位以及性能問(wèn)題來(lái)源
?用戶(hù)SQL寫(xiě)法 - 遵循開(kāi)發(fā)規(guī)約
?代價(jià)模型缺陷 - 執(zhí)行計(jì)劃
?統(tǒng)計(jì)信息不準(zhǔn)確
?數(shù)據(jù)庫(kù)物理設(shè)計(jì):決定查詢(xún)性能
?系統(tǒng)負(fù)載:影響整體吞吐率,影響單sql rt
?客戶(hù)端路由 - 遠(yuǎn)程執(zhí)行
?SQL調(diào)優(yōu)方法
?針對(duì)單條 SQL 執(zhí)行的性能調(diào)優(yōu)
?單表訪(fǎng)問(wèn)場(chǎng)景:索引、排序或聚合、分區(qū)、分布式并行
?多表訪(fǎng)問(wèn)場(chǎng)景:連接順序、連接算法、分布式并行、 查詢(xún)改寫(xiě)
?針對(duì)吞吐量的性能優(yōu)化
?優(yōu)化慢SQL
?均衡SQL的請(qǐng)求流量資源
?如何通過(guò)執(zhí)行計(jì)劃字段辨識(shí)低效的SQL
?查看各階段耗時(shí)
?調(diào)優(yōu)基本流程分析步驟
?通過(guò)全局SQL審計(jì)表、 SQL Trace 、Profile等查看SQL 執(zhí)行信息 ,初步查找SQL請(qǐng)求的流程中導(dǎo)致耗時(shí)或消耗資源(如內(nèi)存、 磁盤(pán)IO等)的 SQL
?單條SQL的執(zhí)行性能往往與該SQL的執(zhí)行計(jì)劃相關(guān),執(zhí)行計(jì)劃的分析是最重要的手段。通過(guò)執(zhí)行EXPALIN命令查看優(yōu)化器針對(duì)給定 SQL 生成的邏輯執(zhí)行計(jì)劃 ,確定可能的調(diào)優(yōu)方向
?找到具體的慢SQL,為了使某些 SQL 的執(zhí)行時(shí)間或資源消耗符合預(yù)期 , 常見(jiàn)的優(yōu)化方式如下:
?對(duì)SQL做等價(jià)改寫(xiě)生成最佳執(zhí)行計(jì)劃
針對(duì)多表訪(fǎng)問(wèn)的SQL,還需要關(guān)注多表間的聯(lián)接問(wèn)題 , 通過(guò)優(yōu)化訪(fǎng)問(wèn)路徑、聯(lián)接順序和聯(lián)接算法等實(shí)現(xiàn)查詢(xún)優(yōu)化
優(yōu)化實(shí)踐(通過(guò)金融客戶(hù)某業(yè)務(wù)系統(tǒng),針對(duì)調(diào)優(yōu)方式進(jìn)行綜合闡述,并模擬相關(guān)案例進(jìn)行輸出說(shuō)明)
2小時(shí)
?實(shí)際案例講解
?分布式兼容與限制
?分布式表連接
?分布式事務(wù)
?部署服務(wù)器需要注意的事項(xiàng)總結(jié)
?最佳實(shí)踐
?Explain解讀
?Trace信息
?分布式更新操作原理
?跨節(jié)點(diǎn)分布式查詢(xún)優(yōu)化
?邏輯優(yōu)化、條件下推、隔離
?引擎如何優(yōu)雅處理海量SQL邏輯
?分布式事務(wù)實(shí)現(xiàn)
?優(yōu)化實(shí)踐
?數(shù)據(jù)庫(kù)優(yōu)化方法論
?全鏈路性能調(diào)優(yōu)實(shí)戰(zhàn)
?業(yè)務(wù)模型優(yōu)化
?先整體再局部
?先解阻塞性問(wèn)題
?熱點(diǎn)SQL優(yōu)化
?慢SQL優(yōu)化
?減少數(shù)據(jù)訪(fǎng)問(wèn)次數(shù)(減少磁盤(pán)訪(fǎng)問(wèn))
?返回更少數(shù)據(jù)(減少網(wǎng)絡(luò)傳輸或磁盤(pán)訪(fǎng)問(wèn))
?減少交互次數(shù)(減少網(wǎng)絡(luò)傳輸)
?減少服務(wù)器CPU開(kāi)銷(xiāo)
?利用更多資源(增加資源)
?聯(lián)接順序
?索引回表
?分區(qū)表性能診斷
?數(shù)據(jù)表優(yōu)化
?核心數(shù)據(jù)表設(shè)計(jì)
?字段類(lèi)型設(shè)計(jì)
?對(duì)表邏輯更新
?添加創(chuàng)建和修改時(shí)間列
?樂(lè)觀(guān)鎖還是悲觀(guān)鎖,選擇依據(jù)是什么
?如何查找慢查詢(xún):為什么會(huì)對(duì)業(yè)務(wù)造成危害
?優(yōu)化大表總要性:多大是最優(yōu)的
?為什么不要使用大字段類(lèi)型
?為什么要限制DML操作的數(shù)據(jù)大小
?綜合優(yōu)化案例講解和使用
?構(gòu)造一個(gè)復(fù)雜的查詢(xún)SQL(如包含多表關(guān)聯(lián)、子查詢(xún)、cte、filesort、臨時(shí)表等),講解分析方法、SQL改寫(xiě)方法
?SQL優(yōu)化案例實(shí)踐
?條件查詢(xún)索引選擇性導(dǎo)致查詢(xún)慢
統(tǒng)計(jì)信息過(guò)期或數(shù)據(jù)空快碎片多導(dǎo)致執(zhí)行計(jì)劃?錯(cuò)誤
?阻塞、死鎖引發(fā)SQL超時(shí)
?模擬數(shù)據(jù)庫(kù)樂(lè)觀(guān)鎖實(shí)現(xiàn)機(jī)制,提高并發(fā)和吞吐量
?分頁(yè)查詢(xún)?nèi)绾翁岣咝阅?br/>?非分片鍵查詢(xún)引發(fā)SQL性能問(wèn)題
?分布式數(shù)據(jù)庫(kù)查詢(xún)數(shù)據(jù)優(yōu)化(流式處理模型和通用處理模型)
?網(wǎng)關(guān)下推技術(shù):分布式數(shù)據(jù)庫(kù)場(chǎng)景下對(duì)SQL處理優(yōu)化,
?關(guān)聯(lián)數(shù)據(jù)表不一致、字段類(lèi)型不一致導(dǎo)致數(shù)據(jù)庫(kù)性能問(wèn)題
?in + order by優(yōu)化
范圍查詢(xún)阻斷,后續(xù)字段不能走索引
通過(guò)模擬銀行轉(zhuǎn)賬和互金數(shù)據(jù)庫(kù)設(shè)計(jì)兩個(gè)案例貫穿落地實(shí)踐(通過(guò)java springboot程序模擬轉(zhuǎn)賬并發(fā)) 4小時(shí) ?金融轉(zhuǎn)賬一致性測(cè)試實(shí)戰(zhàn)
?電商平臺(tái)數(shù)據(jù)庫(kù)架構(gòu)和表設(shè)計(jì)方案
?數(shù)據(jù)庫(kù)測(cè)試實(shí)踐案例
?需求分析與規(guī)劃(需求收集/風(fēng)險(xiǎn)評(píng)估)
?測(cè)試設(shè)計(jì)(測(cè)試工具/準(zhǔn)備數(shù)據(jù))
?初步測(cè)試(功能驗(yàn)證/性能初步評(píng)估)
?分析與優(yōu)化(問(wèn)題分析/優(yōu)化方案)
?再次測(cè)試(用戶(hù)體驗(yàn))
?持續(xù)監(jiān)控與維護(hù)(性能健康/定期檢查)
?數(shù)據(jù)庫(kù)異常診斷(慢查詢(xún)、并發(fā)、鎖、阻塞等)
?測(cè)試結(jié)合要點(diǎn)
?表設(shè)計(jì)(分表依據(jù))
?鎖設(shè)計(jì)(樂(lè)觀(guān)鎖/悲觀(guān)鎖)
?事物設(shè)計(jì)(如何控制事物大小)
?索引設(shè)計(jì)(最佳設(shè)計(jì)原則)
?連接池設(shè)計(jì)(使用連接池要注意事項(xiàng))
?SQL優(yōu)化(小表變大表/改寫(xiě))
?服務(wù)器性能(CPU/IO/內(nèi)存/NUMA)
?網(wǎng)絡(luò)性能
?參數(shù)配置
?監(jiān)控
?關(guān)鍵問(wèn)題
?數(shù)據(jù)庫(kù)性能分析問(wèn)題
?SQL影響:慢查詢(xún)和慢查詢(xún)收集工具
?SQL事務(wù)監(jiān)控
?SQL阻塞監(jiān)控
?CPU抖動(dòng):Prometheus+zabbix、Top監(jiān)控
?通過(guò)慢日志或監(jiān)控平臺(tái)獲取某一個(gè)時(shí)刻SQL
?業(yè)務(wù)并發(fā)訪(fǎng)問(wèn)問(wèn)題
?業(yè)務(wù)壓力突增全鏈路監(jiān)控
?界定每個(gè)部分是否有問(wèn)題
?定位問(wèn)題所在
?性能問(wèn)題:小數(shù)據(jù)量下性能良好,但在大數(shù)據(jù)量下性能急劇下降
?基準(zhǔn)測(cè)試:在小數(shù)據(jù)量下進(jìn)行基準(zhǔn)測(cè)試,記錄性能指標(biāo)。
? 壓力測(cè)試:使用工具如 JMeter、LoadRunner 進(jìn)行壓力測(cè)試,模擬大數(shù)據(jù)量和高并發(fā)場(chǎng)景。
?長(zhǎng)時(shí)間測(cè)試:進(jìn)行長(zhǎng)時(shí)間的穩(wěn)定性測(cè)試,觀(guān)察系統(tǒng)在長(zhǎng)時(shí)間高負(fù)載下的表現(xiàn)。
?并發(fā)問(wèn)題:在單用戶(hù)或少量用戶(hù)情況下表現(xiàn)良好,但在多用戶(hù)并發(fā)訪(fǎng)問(wèn)時(shí)出現(xiàn)死鎖、數(shù)據(jù)不一致等問(wèn)題
?并發(fā)測(cè)試:使用工具模擬多用戶(hù)并發(fā)訪(fǎng)問(wèn),觀(guān)察系統(tǒng)的響應(yīng)時(shí)間和錯(cuò)誤率。
?事務(wù)測(cè)試:特別關(guān)注涉及多個(gè)事務(wù)的操作,確保事務(wù)的隔離性和一致性。
?數(shù)據(jù)一致性問(wèn)題:數(shù)據(jù)在不同模塊之間不一致,尤其是在分布式系統(tǒng)中。
?數(shù)據(jù)校驗(yàn):在不同模塊之間進(jìn)行數(shù)據(jù)校驗(yàn),確保數(shù)據(jù)的一致性。
?日志分析:分析系統(tǒng)日志,查找數(shù)據(jù)不一致的原因。
? 事務(wù)管理:確保事務(wù)的正確管理和回滾機(jī)制。
?異常處理問(wèn)題:異常處理不當(dāng),導(dǎo)致系統(tǒng)崩潰或數(shù)據(jù)丟失。
?異常測(cè)試:模擬各種異常情況,如網(wǎng)絡(luò)中斷、數(shù)據(jù)庫(kù)連接失敗等。
?日志記錄:確保所有異常都被記錄下來(lái),便于后續(xù)分析。
?恢復(fù)測(cè)試:測(cè)試系統(tǒng)的恢復(fù)機(jī)制,確保系統(tǒng)在異常后能夠恢復(fù)正常運(yùn)行。
?資源泄漏問(wèn)題:內(nèi)存泄漏、文件句柄泄漏等。
?內(nèi)存分析:使用工具如Valgrind、VisualVM 進(jìn)行內(nèi)存分析。
?文件句柄檢查:檢查系統(tǒng)中打開(kāi)的文件句柄數(shù)量,確保沒(méi)有泄漏。
?性能監(jiān)控:持續(xù)監(jiān)控系統(tǒng)的資源使用情況,及時(shí)發(fā)現(xiàn)異常。
日志和監(jiān)控問(wèn)題:日志記錄不完整,監(jiān)控機(jī)制不健全
?日志審計(jì):定期審計(jì)日志文件,確保日志記錄的完整性和準(zhǔn)確性。
?監(jiān)控工具:部署性能監(jiān)控工具,持續(xù)監(jiān)控系統(tǒng)的運(yùn)行狀態(tài)。
?報(bào)警機(jī)制:設(shè)置合理的報(bào)警閾值,及時(shí)發(fā)現(xiàn)和處理異常。
?分布式事務(wù)處理能力
?分布式存儲(chǔ)能力
?分布式事務(wù)能力
?數(shù)據(jù)可靠性
?數(shù)據(jù)分片操作
?服務(wù)高可用
?水平擴(kuò)展能力
?數(shù)據(jù)庫(kù)測(cè)試工程實(shí)施方法論和階段性?xún)?yōu)化概述
?SQL優(yōu)化應(yīng)用場(chǎng)景以及策略實(shí)踐
?慢查詢(xún)
?連接查詢(xún)性能問(wèn)題
?子查詢(xún)性能問(wèn)題
?過(guò)度使用通配符%的 LIKE 查詢(xún)
?大批量插入或更新
?頻繁的重復(fù)查詢(xún)
?過(guò)度使用分組和聚合函數(shù)
?大量重復(fù)數(shù)據(jù)的查詢(xún)
?過(guò)度使用 OR 條件的查詢(xún)
?大型數(shù)據(jù)分頁(yè)查詢(xún)
?使用不必要的列
?頻繁更新的表
?未使用索引的外鍵約束
?大型查詢(xún)的分批處理
?未使用存儲(chǔ)過(guò)程的重復(fù)邏輯
?未使用合適的數(shù)據(jù)類(lèi)型
?大量寫(xiě)操作導(dǎo)致的鎖競(jìng)爭(zhēng)
?頻繁使用數(shù)據(jù)庫(kù)函數(shù)和表達(dá)式
?未使用合適的索引策略
?大量數(shù)據(jù)的聯(lián)合操作
?大量數(shù)據(jù)的聯(lián)合操作
?數(shù)據(jù)分布不均勻的索引
?過(guò)度使用子查詢(xún)
?未使用批量操作
?過(guò)度使用內(nèi)存表
?缺乏定期統(tǒng)計(jì)和優(yōu)化
?未使用合適的數(shù)據(jù)庫(kù)引擎
?使用強(qiáng)制類(lèi)型轉(zhuǎn)換
?未優(yōu)化的長(zhǎng)事務(wù)
?未優(yōu)化的存儲(chǔ)過(guò)程
未考慮DB服務(wù)器配置和硬件資源
SQL優(yōu)化本質(zhì)和優(yōu)化技術(shù)(一方面闡述分布式數(shù)據(jù)庫(kù)架構(gòu)特點(diǎn)和優(yōu)化理論,另一方面著重分析幾款分布式數(shù)據(jù)庫(kù)技術(shù)共同點(diǎn)和不同點(diǎn)(通過(guò)案例分析講解);3小時(shí)
?理解SQL在分布式數(shù)據(jù)庫(kù)下查詢(xún)的工作原理
?SQL查詢(xún)的執(zhí)行過(guò)程
?分布式數(shù)據(jù)庫(kù)引擎解析、執(zhí)行SQL語(yǔ)句
?SQL優(yōu)化本質(zhì)和優(yōu)化技術(shù)
?數(shù)據(jù)訪(fǎng)問(wèn)方式效率的對(duì)比:全表掃描與索引掃描
?多表連接的執(zhí)行計(jì)劃、適用場(chǎng)景與優(yōu)劣勢(shì)
?嵌套循環(huán)
?合并連接
?哈希連接
?三種表連接案例講解(從業(yè)務(wù)場(chǎng)景分析)
?分析和診斷SQL查詢(xún)性能
?SQL調(diào)優(yōu)方法論-執(zhí)行計(jì)劃深度分析
?從案例中辨別低效執(zhí)行計(jì)劃
?優(yōu)化SQL查詢(xún)語(yǔ)句
?選擇合適的連接類(lèi)型
?避免使用子查詢(xún)、改用連接Join(那些場(chǎng)景下)
?避免使用復(fù)雜的查詢(xún)(多表關(guān)聯(lián)性能為什么差)
?索引技術(shù):應(yīng)用場(chǎng)景以及對(duì)業(yè)務(wù)數(shù)據(jù)查詢(xún)的影響
?索引類(lèi)型和工作原理
?分析索引覆蓋
?避免過(guò)度索引
?定期維護(hù)索引
?案例講解
?索引碎片導(dǎo)致執(zhí)行計(jì)劃問(wèn)題分析和解決
?理解SQL的執(zhí)行過(guò)程與性能瓶頸
?并發(fā)控制和鎖的實(shí)現(xiàn)方式
?理解分布式數(shù)據(jù)庫(kù)并發(fā)機(jī)制
?隔離級(jí)別對(duì)分布式數(shù)據(jù)庫(kù)影響
?減少鎖的競(jìng)爭(zhēng),優(yōu)化事務(wù)的粒度
?樂(lè)觀(guān)鎖實(shí)現(xiàn)策略(那些場(chǎng)景使用)
針對(duì)不同數(shù)據(jù)庫(kù)特定優(yōu)化策略
SQL性能瓶頸分析和解決(通過(guò)執(zhí)行計(jì)劃分解不同分布式數(shù)據(jù)庫(kù)使用方式,能快速掌握分析辨識(shí)低效的SQL執(zhí)行問(wèn)題癥狀) 3小時(shí)
?SQL性能問(wèn)題定位以及性能問(wèn)題來(lái)源
?用戶(hù)SQL寫(xiě)法 - 遵循開(kāi)發(fā)規(guī)約
?代價(jià)模型缺陷 - 執(zhí)行計(jì)劃
?統(tǒng)計(jì)信息不準(zhǔn)確
?數(shù)據(jù)庫(kù)物理設(shè)計(jì):決定查詢(xún)性能
?系統(tǒng)負(fù)載:影響整體吞吐率,影響單sql rt
?客戶(hù)端路由 - 遠(yuǎn)程執(zhí)行
?SQL調(diào)優(yōu)方法
?針對(duì)單條 SQL 執(zhí)行的性能調(diào)優(yōu)
?單表訪(fǎng)問(wèn)場(chǎng)景:索引、排序或聚合、分區(qū)、分布式并行
?多表訪(fǎng)問(wèn)場(chǎng)景:連接順序、連接算法、分布式并行、 查詢(xún)改寫(xiě)
?針對(duì)吞吐量的性能優(yōu)化
?優(yōu)化慢SQL
?均衡SQL的請(qǐng)求流量資源
?如何通過(guò)執(zhí)行計(jì)劃字段辨識(shí)低效的SQL
?查看各階段耗時(shí)
?調(diào)優(yōu)基本流程分析步驟
?通過(guò)全局SQL審計(jì)表、 SQL Trace 、Profile等查看SQL 執(zhí)行信息 ,初步查找SQL請(qǐng)求的流程中導(dǎo)致耗時(shí)或消耗資源(如內(nèi)存、 磁盤(pán)IO等)的 SQL
?單條SQL的執(zhí)行性能往往與該SQL的執(zhí)行計(jì)劃相關(guān),執(zhí)行計(jì)劃的分析是最重要的手段。通過(guò)執(zhí)行EXPALIN命令查看優(yōu)化器針對(duì)給定 SQL 生成的邏輯執(zhí)行計(jì)劃 ,確定可能的調(diào)優(yōu)方向
?找到具體的慢SQL,為了使某些 SQL 的執(zhí)行時(shí)間或資源消耗符合預(yù)期 , 常見(jiàn)的優(yōu)化方式如下:
?對(duì)SQL做等價(jià)改寫(xiě)生成最佳執(zhí)行計(jì)劃
針對(duì)多表訪(fǎng)問(wèn)的SQL,還需要關(guān)注多表間的聯(lián)接問(wèn)題 , 通過(guò)優(yōu)化訪(fǎng)問(wèn)路徑、聯(lián)接順序和聯(lián)接算法等實(shí)現(xiàn)查詢(xún)優(yōu)化
優(yōu)化實(shí)踐(通過(guò)金融客戶(hù)某業(yè)務(wù)系統(tǒng),針對(duì)調(diào)優(yōu)方式進(jìn)行綜合闡述,并模擬相關(guān)案例進(jìn)行輸出說(shuō)明)
2小時(shí)
?實(shí)際案例講解
?分布式兼容與限制
?分布式表連接
?分布式事務(wù)
?部署服務(wù)器需要注意的事項(xiàng)總結(jié)
?最佳實(shí)踐
?Explain解讀
?Trace信息
?分布式更新操作原理
?跨節(jié)點(diǎn)分布式查詢(xún)優(yōu)化
?邏輯優(yōu)化、條件下推、隔離
?引擎如何優(yōu)雅處理海量SQL邏輯
?分布式事務(wù)實(shí)現(xiàn)
?優(yōu)化實(shí)踐
?數(shù)據(jù)庫(kù)優(yōu)化方法論
?全鏈路性能調(diào)優(yōu)實(shí)戰(zhàn)
?業(yè)務(wù)模型優(yōu)化
?先整體再局部
?先解阻塞性問(wèn)題
?熱點(diǎn)SQL優(yōu)化
?慢SQL優(yōu)化
?減少數(shù)據(jù)訪(fǎng)問(wèn)次數(shù)(減少磁盤(pán)訪(fǎng)問(wèn))
?返回更少數(shù)據(jù)(減少網(wǎng)絡(luò)傳輸或磁盤(pán)訪(fǎng)問(wèn))
?減少交互次數(shù)(減少網(wǎng)絡(luò)傳輸)
?減少服務(wù)器CPU開(kāi)銷(xiāo)
?利用更多資源(增加資源)
?聯(lián)接順序
?索引回表
?分區(qū)表性能診斷
?數(shù)據(jù)表優(yōu)化
?核心數(shù)據(jù)表設(shè)計(jì)
?字段類(lèi)型設(shè)計(jì)
?對(duì)表邏輯更新
?添加創(chuàng)建和修改時(shí)間列
?樂(lè)觀(guān)鎖還是悲觀(guān)鎖,選擇依據(jù)是什么
?如何查找慢查詢(xún):為什么會(huì)對(duì)業(yè)務(wù)造成危害
?優(yōu)化大表總要性:多大是最優(yōu)的
?為什么不要使用大字段類(lèi)型
?為什么要限制DML操作的數(shù)據(jù)大小
?綜合優(yōu)化案例講解和使用
?構(gòu)造一個(gè)復(fù)雜的查詢(xún)SQL(如包含多表關(guān)聯(lián)、子查詢(xún)、cte、filesort、臨時(shí)表等),講解分析方法、SQL改寫(xiě)方法
?SQL優(yōu)化案例實(shí)踐
?條件查詢(xún)索引選擇性導(dǎo)致查詢(xún)慢
統(tǒng)計(jì)信息過(guò)期或數(shù)據(jù)空快碎片多導(dǎo)致執(zhí)行計(jì)劃?錯(cuò)誤
?阻塞、死鎖引發(fā)SQL超時(shí)
?模擬數(shù)據(jù)庫(kù)樂(lè)觀(guān)鎖實(shí)現(xiàn)機(jī)制,提高并發(fā)和吞吐量
?分頁(yè)查詢(xún)?nèi)绾翁岣咝阅?br/>?非分片鍵查詢(xún)引發(fā)SQL性能問(wèn)題
?分布式數(shù)據(jù)庫(kù)查詢(xún)數(shù)據(jù)優(yōu)化(流式處理模型和通用處理模型)
?網(wǎng)關(guān)下推技術(shù):分布式數(shù)據(jù)庫(kù)場(chǎng)景下對(duì)SQL處理優(yōu)化,
?關(guān)聯(lián)數(shù)據(jù)表不一致、字段類(lèi)型不一致導(dǎo)致數(shù)據(jù)庫(kù)性能問(wèn)題
?in + order by優(yōu)化
范圍查詢(xún)阻斷,后續(xù)字段不能走索引
通過(guò)模擬銀行轉(zhuǎn)賬和互金數(shù)據(jù)庫(kù)設(shè)計(jì)兩個(gè)案例貫穿落地實(shí)踐(通過(guò)java springboot程序模擬轉(zhuǎn)賬并發(fā)) 4小時(shí)
?金融轉(zhuǎn)賬一致性測(cè)試實(shí)戰(zhàn)
?電商平臺(tái)數(shù)據(jù)庫(kù)架構(gòu)和表設(shè)計(jì)方案
?數(shù)據(jù)庫(kù)測(cè)試實(shí)踐案例
?需求分析與規(guī)劃(需求收集/風(fēng)險(xiǎn)評(píng)估)
?測(cè)試設(shè)計(jì)(測(cè)試工具/準(zhǔn)備數(shù)據(jù))
?初步測(cè)試(功能驗(yàn)證/性能初步評(píng)估)
?分析與優(yōu)化(問(wèn)題分析/優(yōu)化方案)
?再次測(cè)試(用戶(hù)體驗(yàn))
?持續(xù)監(jiān)控與維護(hù)(性能健康/定期檢查)
?數(shù)據(jù)庫(kù)異常診斷(慢查詢(xún)、并發(fā)、鎖、阻塞等)
?測(cè)試結(jié)合要點(diǎn)
?表設(shè)計(jì)(分表依據(jù))
?鎖設(shè)計(jì)(樂(lè)觀(guān)鎖/悲觀(guān)鎖)
?事物設(shè)計(jì)(如何控制事物大小)
?索引設(shè)計(jì)(最佳設(shè)計(jì)原則)
?連接池設(shè)計(jì)(使用連接池要注意事項(xiàng))
?SQL優(yōu)化(小表變大表/改寫(xiě))
?服務(wù)器性能(CPU/IO/內(nèi)存/NUMA)
?網(wǎng)絡(luò)性能
?參數(shù)配置
?監(jiān)控
?關(guān)鍵問(wèn)題
?數(shù)據(jù)庫(kù)性能分析問(wèn)題
?SQL影響:慢查詢(xún)和慢查詢(xún)收集工具
?SQL事務(wù)監(jiān)控
?SQL阻塞監(jiān)控
?CPU抖動(dòng):Prometheus+zabbix、Top監(jiān)控
?通過(guò)慢日志或監(jiān)控平臺(tái)獲取某一個(gè)時(shí)刻SQL
?業(yè)務(wù)并發(fā)訪(fǎng)問(wèn)問(wèn)題
?業(yè)務(wù)壓力突增全鏈路監(jiān)控
?界定每個(gè)部分是否有問(wèn)題
?定位問(wèn)題所在
?性能問(wèn)題:小數(shù)據(jù)量下性能良好,但在大數(shù)據(jù)量下性能急劇下降
?基準(zhǔn)測(cè)試:在小數(shù)據(jù)量下進(jìn)行基準(zhǔn)測(cè)試,記錄性能指標(biāo)。
? 壓力測(cè)試:使用工具如 JMeter、LoadRunner 進(jìn)行壓力測(cè)試,模擬大數(shù)據(jù)量和高并發(fā)場(chǎng)景。
?長(zhǎng)時(shí)間測(cè)試:進(jìn)行長(zhǎng)時(shí)間的穩(wěn)定性測(cè)試,觀(guān)察系統(tǒng)在長(zhǎng)時(shí)間高負(fù)載下的表現(xiàn)。
?并發(fā)問(wèn)題:在單用戶(hù)或少量用戶(hù)情況下表現(xiàn)良好,但在多用戶(hù)并發(fā)訪(fǎng)問(wèn)時(shí)出現(xiàn)死鎖、數(shù)據(jù)不一致等問(wèn)題
?并發(fā)測(cè)試:使用工具模擬多用戶(hù)并發(fā)訪(fǎng)問(wèn),觀(guān)察系統(tǒng)的響應(yīng)時(shí)間和錯(cuò)誤率。
?事務(wù)測(cè)試:特別關(guān)注涉及多個(gè)事務(wù)的操作,確保事務(wù)的隔離性和一致性。
?數(shù)據(jù)一致性問(wèn)題:數(shù)據(jù)在不同模塊之間不一致,尤其是在分布式系統(tǒng)中。
?數(shù)據(jù)校驗(yàn):在不同模塊之間進(jìn)行數(shù)據(jù)校驗(yàn),確保數(shù)據(jù)的一致性。
?日志分析:分析系統(tǒng)日志,查找數(shù)據(jù)不一致的原因。
? 事務(wù)管理:確保事務(wù)的正確管理和回滾機(jī)制。
?異常處理問(wèn)題:異常處理不當(dāng),導(dǎo)致系統(tǒng)崩潰或數(shù)據(jù)丟失。
?異常測(cè)試:模擬各種異常情況,如網(wǎng)絡(luò)中斷、數(shù)據(jù)庫(kù)連接失敗等。
?日志記錄:確保所有異常都被記錄下來(lái),便于后續(xù)分析。
?恢復(fù)測(cè)試:測(cè)試系統(tǒng)的恢復(fù)機(jī)制,確保系統(tǒng)在異常后能夠恢復(fù)正常運(yùn)行。
?資源泄漏問(wèn)題:內(nèi)存泄漏、文件句柄泄漏等。
?內(nèi)存分析:使用工具如Valgrind、VisualVM 進(jìn)行內(nèi)存分析。
?文件句柄檢查:檢查系統(tǒng)中打開(kāi)的文件句柄數(shù)量,確保沒(méi)有泄漏。
?性能監(jiān)控:持續(xù)監(jiān)控系統(tǒng)的資源使用情況,及時(shí)發(fā)現(xiàn)異常。
日志和監(jiān)控問(wèn)題:日志記錄不完整,監(jiān)控機(jī)制不健全
?日志審計(jì):定期審計(jì)日志文件,確保日志記錄的完整性和準(zhǔn)確性。
?監(jiān)控工具:部署性能監(jiān)控工具,持續(xù)監(jiān)控系統(tǒng)的運(yùn)行狀態(tài)。
?報(bào)警機(jī)制:設(shè)置合理的報(bào)警閾值,及時(shí)發(fā)現(xiàn)和處理異常。
?分布式事務(wù)處理能力
?分布式存儲(chǔ)能力
?分布式事務(wù)能力
?數(shù)據(jù)可靠性
?數(shù)據(jù)分片操作
?服務(wù)高可用
?水平擴(kuò)展能力
?數(shù)據(jù)庫(kù)測(cè)試工程實(shí)施方法論和階段性?xún)?yōu)化概述
?SQL優(yōu)化應(yīng)用場(chǎng)景以及策略實(shí)踐
?慢查詢(xún)
?連接查詢(xún)性能問(wèn)題
?子查詢(xún)性能問(wèn)題
?過(guò)度使用通配符%的 LIKE 查詢(xún)
?大批量插入或更新
?頻繁的重復(fù)查詢(xún)
?過(guò)度使用分組和聚合函數(shù)
?大量重復(fù)數(shù)據(jù)的查詢(xún)
?過(guò)度使用 OR 條件的查詢(xún)
?大型數(shù)據(jù)分頁(yè)查詢(xún)
?使用不必要的列
?頻繁更新的表
?未使用索引的外鍵約束
?大型查詢(xún)的分批處理
?未使用存儲(chǔ)過(guò)程的重復(fù)邏輯
?未使用合適的數(shù)據(jù)類(lèi)型
?大量寫(xiě)操作導(dǎo)致的鎖競(jìng)爭(zhēng)
?頻繁使用數(shù)據(jù)庫(kù)函數(shù)和表達(dá)式
?未使用合適的索引策略
?大量數(shù)據(jù)的聯(lián)合操作
?大量數(shù)據(jù)的聯(lián)合操作
?數(shù)據(jù)分布不均勻的索引
?過(guò)度使用子查詢(xún)
?未使用批量操作
?過(guò)度使用內(nèi)存表
?缺乏定期統(tǒng)計(jì)和優(yōu)化
?未使用合適的數(shù)據(jù)庫(kù)引擎
?使用強(qiáng)制類(lèi)型轉(zhuǎn)換
?未優(yōu)化的長(zhǎng)事務(wù)
?未優(yōu)化的存儲(chǔ)過(guò)程
未考慮DB服務(wù)器配置和硬件資源

課程費(fèi)用

6800.00 /人

課程時(shí)長(zhǎng)

2

預(yù)約體驗(yàn)票 我要分享

近期公開(kāi)課推薦

近期公開(kāi)課推薦

活動(dòng)詳情

提交需求