當(dāng)前位置:
首頁 >
schema设计
發(fā)布時間:2025/4/14
33
豆豆
Schema設(shè)計
Schema:表的模式; 設(shè)計數(shù)據(jù)的表,索引,以及表和表的關(guān)系在數(shù)據(jù)建模的基礎(chǔ)上將關(guān)系模型轉(zhuǎn)為數(shù)據(jù)庫表 滿足業(yè)務(wù)模型需要基礎(chǔ)上根據(jù)數(shù)據(jù)庫和應(yīng)用特點優(yōu)化表結(jié)構(gòu) 關(guān)系模型圖:
? 1 反范式,冗余必要字段 2 拆分大字段
?
Schema:表的模式; 設(shè)計數(shù)據(jù)的表,索引,以及表和表的關(guān)系
?
Schema關(guān)系到應(yīng)用程序功能與性能- 滿足業(yè)務(wù)功能需求
- 同性能密切相關(guān)
- 數(shù)據(jù)庫擴展性
- 滿足周邊需求(統(tǒng)計,遷移等)
- 著眼于實現(xiàn)當(dāng)前功能
- 完全基于功能的設(shè)計可能存在一些隱患
-
- ?? 不合理的表結(jié)構(gòu)或索引設(shè)計造成性能問題
- ?? 沒有合理評估到數(shù)據(jù)量的增長造成空間緊張而且難以維護
- ?? 需求頻繁修改造成表結(jié)構(gòu)經(jīng)常變更
- ?? 業(yè)務(wù)重大調(diào)整導(dǎo)致數(shù)據(jù)經(jīng)常需要重構(gòu)訂正
- 根據(jù)查詢需要設(shè)計好索引
- 根據(jù)核心查詢需求, 適當(dāng)調(diào)整表結(jié)構(gòu)
- 基于一些特殊業(yè)務(wù)需求,調(diào)整實現(xiàn)方式
- 正確使用索引
- 更新盡可能使用主鍵或唯一索引
- 主鍵盡可能使用自增ID字段
- 核心查詢使用覆蓋索引
-
- ? ? ? ? ? 用戶登錄需要根據(jù)用戶名返回密碼用于驗證
- ? ? ? ? ? create index idx_uname_passwd on tb_user (username,passwd);
- ? ? ? ? ? 建立聯(lián)合索引避免回表取數(shù)據(jù)
? 1 反范式,冗余必要字段 2 拆分大字段
?
3 避免過多字段或過長行 4 分頁查詢: 5 ?熱點讀數(shù)據(jù)特殊處理 6 熱點寫數(shù)據(jù)特殊處理?
7 準實時統(tǒng)計?
實時統(tǒng)計改進1--觸發(fā)器實時統(tǒng)計?
實時統(tǒng)計改進2-緩存實時統(tǒng)計?
實時統(tǒng)計改進3-最大自增ID獲取總數(shù)?
? 8 ?可擴展性設(shè)計?
9 分區(qū)表與數(shù)據(jù)淘汰 range分區(qū)?
list分區(qū)?
hash分區(qū) 10 滿足周邊需求 統(tǒng)計和后臺需求 11 自動更新時間戳 Schema設(shè)計與前瞻性- 基于歷史經(jīng)驗教訓(xùn),預(yù)防和解決同類問題
- 把折騰DBA夠嗆的索引Schema改造的原因記錄并分析總結(jié)
- ?數(shù)據(jù)庫結(jié)果大量改動,增加了加密字段,驗證策略表,所有表重新訂正數(shù)據(jù)等等
- ?是否所有用到用戶信息管理的應(yīng)用都要去上線就用密文?
?
?總結(jié)?
- ?schema設(shè)計關(guān)系性能
- ?反范式,冗余必要字段
- ?拆分大字段
- ?避免過多字段或過長字段
- ?分頁查詢
- ?熱點讀數(shù)據(jù)特殊處理:置頂表與普通表分開
- ?熱點寫數(shù)據(jù)特殊處理:
-
- 微博普通用戶發(fā)消息,則寫入關(guān)注他的人的消息列表中;微博大V發(fā)消息,則關(guān)注他的人都去讀他的消息列表;
- ?準實時統(tǒng)計:
-
- 定時統(tǒng)計表,更據(jù)上次更新時間統(tǒng)計全表中增量sum值,每分鐘更新統(tǒng)計表;
- ?實時統(tǒng)計:
-
- 觸發(fā)器實時統(tǒng)計,在用戶插入時,更新統(tǒng)計表;
- 緩存實時統(tǒng)計,應(yīng)用將用戶新增寫在內(nèi)存緩存中,業(yè)務(wù)平時從緩存中讀,緩存失效,從數(shù)據(jù)庫做一次查詢,接著寫在緩存;
- 分區(qū)表與數(shù)據(jù)淘汰
- 滿足周邊需求:
-
- 如后臺統(tǒng)計任務(wù)而增加特殊索引,
- 為數(shù)據(jù)遷移或統(tǒng)計增加時間戳
- 自動更新時間戳
- schema設(shè)計與前瞻性
轉(zhuǎn)載于:https://www.cnblogs.com/Aiapple/p/5694327.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: 生成元(Digit Generator
- 下一篇: 只读账号设置-db_datareader