提高数据库查询速度的几个思路
生活随笔
收集整理的這篇文章主要介紹了
提高数据库查询速度的几个思路
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
提高數(shù)據(jù)庫查詢速度的幾個(gè)思路 :
1、緩存,在持久層或持久層之上做緩存;
2、數(shù)據(jù)庫表的大字段剝離,保證單條記錄的數(shù)據(jù)量很小;?
3、恰當(dāng)?shù)厥褂盟饕?
4、必要時(shí)建立多級索引;?
5、分析Oracle的執(zhí)行計(jì)劃,通過表數(shù)據(jù)統(tǒng)計(jì)等方式協(xié)助數(shù)據(jù)庫走正確的查詢方式,該走索引就走索引,該走全表掃描就走全表掃描;?
6、表分區(qū)和拆分,無論是業(yè)務(wù)邏輯上的拆分(如一個(gè)月一張報(bào)表、分庫)還是無業(yè)務(wù)含義的分區(qū)(如根據(jù)ID取模分區(qū));
7、RAC;
8、字段冗余,減少跨庫查詢和大表連接操作;?
9、數(shù)據(jù)通過單個(gè)或多個(gè)JOB生成出來,減少實(shí)時(shí)查詢;
10、從磁盤上做文章,數(shù)據(jù)存放的在磁盤的內(nèi)、外磁道上,數(shù)據(jù)獲取的效率都是不一樣的;?
11、放棄關(guān)系數(shù)據(jù)庫的某些特性,引入NoSQL數(shù)據(jù)庫;?
1、緩存,在持久層或持久層之上做緩存;
2、數(shù)據(jù)庫表的大字段剝離,保證單條記錄的數(shù)據(jù)量很小;?
3、恰當(dāng)?shù)厥褂盟饕?
4、必要時(shí)建立多級索引;?
5、分析Oracle的執(zhí)行計(jì)劃,通過表數(shù)據(jù)統(tǒng)計(jì)等方式協(xié)助數(shù)據(jù)庫走正確的查詢方式,該走索引就走索引,該走全表掃描就走全表掃描;?
6、表分區(qū)和拆分,無論是業(yè)務(wù)邏輯上的拆分(如一個(gè)月一張報(bào)表、分庫)還是無業(yè)務(wù)含義的分區(qū)(如根據(jù)ID取模分區(qū));
7、RAC;
8、字段冗余,減少跨庫查詢和大表連接操作;?
9、數(shù)據(jù)通過單個(gè)或多個(gè)JOB生成出來,減少實(shí)時(shí)查詢;
10、從磁盤上做文章,數(shù)據(jù)存放的在磁盤的內(nèi)、外磁道上,數(shù)據(jù)獲取的效率都是不一樣的;?
11、放棄關(guān)系數(shù)據(jù)庫的某些特性,引入NoSQL數(shù)據(jù)庫;?
12、換種思路存放數(shù)據(jù),例如搜索中的倒排表;?
總結(jié)
以上是生活随笔為你收集整理的提高数据库查询速度的几个思路的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 沿着path路径做动画
- 下一篇: linux cmake编译源码,linu