Hopes

          Start Here..

           

          oracle 對于多個(gè)大表關(guān)聯(lián)操作如何優(yōu)化速度?

          oracle 對于多個(gè)大表關(guān)聯(lián)操作如何優(yōu)化速度?


          1、首先要建立適當(dāng)?shù)乃饕ql在索引字段不要加函數(shù),保證索引起效。如果是復(fù)合索引注意在sql的順序。如果已經(jīng)存在索    引,建議你先重建索引先,因?yàn)榇髷?shù)據(jù)表的索引維護(hù)到了一個(gè)階段就是亂的,一般建議重建。建立好的一般可以獲得幾十倍的速度提升。


          2、最大數(shù)據(jù)量的表放在最前,最小的表放在最后面。sql是從最后面開始反向解析的


          3、其次是要把最有效縮小范圍的條件放到sql末尾去。尤其是主鍵或者索引字段的條件。


          4、保證你sql的算法合理性。保證復(fù)雜度和空間度的合理性。


          5、必要時(shí)候使用存儲過程。提升30%-40%的速度


          6、建議你分頁讀取不要一下讀完所有的數(shù)據(jù)。(使用rownum),一下子數(shù)據(jù)太多會使得內(nèi)存不夠用的。

          如果這些都做了還不滿意的話,可以考慮建立幾個(gè)表空間,然后按照一個(gè)算法將各個(gè)表的數(shù)據(jù),平均的放在各個(gè)表空間內(nèi)(分表分區(qū)),在select的時(shí)候數(shù)據(jù)庫就會使用多線程到各個(gè)表空間索引數(shù)據(jù),這個(gè)一般不是上千萬級的表是不用的。 也不是所有人都會用。


          這個(gè)得看查詢結(jié)果占到源表的比例:如果占比較大(大于10%-20%),則使用臨時(shí)表效果會好。

          posted on 2012-10-17 19:36 ** 閱讀(3464) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          你好!

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          相冊

          收藏夾

          C#學(xué)習(xí)

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 本溪| 海原县| 扎兰屯市| 彩票| 蓬溪县| 海门市| 水富县| 时尚| 乌拉特前旗| 昌平区| 克什克腾旗| 遂宁市| 江华| 密云县| 临潭县| 河西区| 独山县| 新兴县| 错那县| 湖南省| 株洲县| 四平市| 措美县| 芜湖县| 三原县| 南通市| 昭平县| 金乡县| 阿克| 京山县| 新晃| 丽水市| 金川县| 普洱| 白山市| 闵行区| 钟祥市| 芦山县| 凭祥市| 黑水县| 古蔺县|