SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路
1.是分庫而不是分表,分表即需要考慮引入分表算法,又影響后續(xù)查詢。
2.熱數(shù)據(jù)只占全部數(shù)據(jù)的一部分,因此每次優(yōu)先查詢熱庫,以下情況才查詢冷庫
? --a.當查詢條件未命中(結果集為空)時,查詢冷庫。
? --b.當查詢條件部分命中時,查詢冷庫。
3.為了區(qū)分部分命中和全部命中,可以在熱庫中建一張R表存放每次查詢冷庫的查詢條件和查詢結果數(shù)量,每次查詢熱庫時,對比相同查詢條件的查詢結果數(shù)量是否一致。一致,則本次查詢結束。不一致,則需要到冷庫中進行查詢。
4.更優(yōu)方案:不一致的情況,只到冷庫中查詢未查到的數(shù)據(jù)。此時R表需要存放的不僅是查詢結果數(shù)量,還有查詢結果的所有主鍵。
5.舉例說明:100條中80條還是熱數(shù)據(jù) 20條變成了冷數(shù)據(jù) 其實應該只是對冷數(shù)據(jù)庫發(fā)起這20條數(shù)據(jù)的請求。此時需要將R表數(shù)據(jù)拿出來比對,只查一部分冷數(shù)據(jù)。
6.熱庫=>冷庫 : 查詢和使用熱數(shù)據(jù)時,將一段時間不再使用的熱數(shù)據(jù)移到冷庫。
7.冷庫=>熱庫 :查詢冷庫時,將本次查詢的結果移到熱庫,附上最新查詢日期。
8.數(shù)據(jù)同步(每次查詢進行或達到一定量級進行)
SqlServer千萬級以上的數(shù)據(jù)表查詢優(yōu)化方案《冷熱數(shù)據(jù)庫分離》的思路
標簽:數(shù)據(jù)表???nbsp???microsoft???soft???條件???sof???數(shù)據(jù)庫???最新???一段時間???
原文:http://www.cnblogs.com/yahzi001/p/7656661.html
來源:http://www.bubuko.com/infodetail-2347915.html
總結
以上是生活随笔為你收集整理的SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中首清算是央企吗
- 下一篇: mysql格式化小数保留小数点后两位(小