? 1.? 索引
? 2.? 反范式設(shè)計(jì)
? 3.? 將外鍵放在業(yè)務(wù)層約束
? 4.? 對(duì)于會(huì)修改的數(shù)據(jù),且該后置數(shù)據(jù)用作其他表的外鍵气破。最好不要使用自增主鍵。否則在修改數(shù)據(jù)時(shí)采用先刪后插的模式會(huì)很難處理后置數(shù)據(jù)的外鍵
? 5.? 橫向分表
? a.? 冷熱分離
? ?? 熱表(按時(shí)間或者其他 key) 保存
? ?? 冷表(類似歷史數(shù)據(jù)餐抢,如果冷表數(shù)據(jù)太大现使,也可以結(jié)合時(shí)間或者業(yè)務(wù)進(jìn)行再分表)
? a.? 業(yè)務(wù)分表
? ?? 按數(shù)據(jù)狀態(tài)分表(類似出院低匙、在院或者事前、事中碳锈、事后)
? a.? 時(shí)間分表
? ?? 按照創(chuàng)建時(shí)間或者其他非空的時(shí)間字段分表
? 5.? 縱向分表
? a.? 將固定不變的字段放在一個(gè)表里顽冶,另外經(jīng)常變動(dòng)的字段放在另一個(gè)表里(類似橫向分表中的冷熱分表)
? 6.? 分區(qū)
? ? ? key 必須為主鍵
? 7.? buff_pool 增大
————————————————
關(guān)系型數(shù)據(jù)庫(kù)優(yōu)化
1、存儲(chǔ)引擎售碳,MyISAM無(wú)事務(wù)强重,性能高,InnoDB,支持事務(wù)性能低些贸人。
代價(jià):需要重構(gòu)
2间景、隔離級(jí)別:RC級(jí)別,任然有幻讀可能
3艺智、連接數(shù)優(yōu)化:
4倘要、設(shè)置緩沖區(qū)大小:索引緩沖區(qū)十拣、表的緩沖區(qū)封拧、查詢的緩沖區(qū)、排序的緩沖區(qū)
5夭问、explain分析sql泽西、optimizer trace
6、覆蓋索引【查詢列都在索引列中缰趋,避免回表{二級(jí)索引查詢后捧杉,需要再通過(guò)主鍵(葉子節(jié)點(diǎn))查詢到行}】--左模糊會(huì)導(dǎo)致覆蓋索引失效、索引下推【必須where字段在索引列中埠胖、必須不是覆蓋索引】糠溜、避免select *、
7直撤、優(yōu)化順序:索引非竿、緩存、異步化谋竖、分區(qū)红柱,分庫(kù)分表
8、分表:表太大蓖乘,索引較大锤悄,優(yōu)化索引。分庫(kù):并發(fā)高嘉抒,連接數(shù)不夠零聚,優(yōu)化并發(fā)情況