亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ORACLE的SQL語句優(yōu)化

        2013-12-31 00:00:00史超
        電腦迷 2013年11期

        摘 要 本文從ORACLE內存角度簡單討論了SQL語句的優(yōu)化方法。SQL語句由于其簡單和容易上手致使大家對它的研究不對,其實無論是DBA還是前臺程序員都應該有一些書寫高效SQL語句的經(jīng)驗,這對于應用設計和系統(tǒng)日常維護都有很大幫助。

        關鍵詞 SQL語句優(yōu)化 綁定變量 物化視圖

        中圖分類號:TP312 文獻標識碼:A

        SQL語言由IBM實驗室的Donald Chamberlin及其同事在1974年定義,被稱為結構化查詢語言(Structured Query Language),現(xiàn)在SQL語言已經(jīng)形成了標準的應用和開發(fā)體系。

        1 SQL語句的使用

        雖然很多數(shù)據(jù)庫都對SQL語句進行了再開發(fā)和擴展,但是包括SELECT, INSERT, UPDATE, DELETE以及MERGE在內的標準的SQL命令仍然可以被用來完成幾乎所有的數(shù)據(jù)庫操作。

        SELECT查詢語句用來從一個或多個表中或者其他數(shù)據(jù)庫對象中提取數(shù)據(jù)。SELECT 查詢的一般格式是

        5 select {[distinct|all] columns | *}

        1 from {tables | views | other select}

        2 where conditions

        3 group by columns

        4 having conditions

        6 order by columns;

        其中,每行代碼前的數(shù)字表示了SELECT語句在ORACLE執(zhí)行順序。在執(zhí)行查詢語句時是由ORACLE的基于成本的優(yōu)化器(cost-based optimizer,CBO)來負責編譯的,因此SELECT查詢語句的執(zhí)行順序和我們的邏輯思維有所不同。從執(zhí)行順序可以直觀的看出,減少FROM語句涉及到的數(shù)據(jù)源數(shù)量,可以大幅減少數(shù)據(jù)訪問量,增加SELECT查詢語句的執(zhí)行速度。

        2 硬解析與軟解析

        為了不重復解析相同的語句,在每一次執(zhí)行SQL語句前ORACLE會去檢查內存中是不是存在相同的語句。在第一次解析SQL語句之后,ORACLE將SQL語句存放在系統(tǒng)全局內存區(qū)域SGA中。因此,當用戶執(zhí)行一個SQL語句時,如果它和之前執(zhí)行過得語句完全相同,ORACLE會將取回之前的解析信息并重用,這種解析類型被稱為軟解析。相反的,如果之前沒有執(zhí)行過完全相同的語句,ORACLE會將它解析執(zhí)行并把解析信息存入SGA中便于以后重用,這種解析類型被稱為硬解析。不難看出,當數(shù)據(jù)塊在內存中緩存時的訪問速度要大于通過OS獲取數(shù)據(jù)塊的訪問速度。

        3 綁定變量的使用

        一個硬解析不僅僅耗費大量的系統(tǒng)資源,更重要的是會占據(jù)重要的們閂(latch)資源。當一個SQL語句提交后,ORACLE會首先檢查一下共享緩沖池(shared pool)里有沒有與之完全相同的語句,如果有的話只須執(zhí)行軟解析即可,否則就得進行硬解析。有以下兩條SQL語句:

        SQL>select * from emp where deptno=10;

        SQL>SELECT * FROM EMP WHERE DEPTNO=10;

        這兩條語句返回的結果集是完全相同的,也就是說對于用戶來說這兩條語句執(zhí)行結果是相同的?,F(xiàn)在來對v$sql表1進行查詢。

        從返回的結果可以發(fā)現(xiàn),盡管這兩條語句的結果是相同的,但是ORACLE認為它們是不同的。這是由于在執(zhí)行SQL語句時,ORACLE首先將該語句字符的散列值作為它存放在SGA中的主鍵。當執(zhí)行其他語句時,ORACLE會將執(zhí)行語句的散列值與內存中現(xiàn)有的散列值一一比較。在執(zhí)行字符轉換散列值時,大寫字母與小寫字母產(chǎn)生的散列值是不同的。當使用綁定變量時,即使用戶改變了綁定變量的值,ORACLE還是可以共享這個語句。

        參考文獻

        [1] 尹萍.SQL Server數(shù)據(jù)庫性能優(yōu)化[J].計算機應用與軟件,2005(4).

        [2] 胡江奕.基于SQL Server的數(shù)據(jù)庫應用系統(tǒng)性能的優(yōu)化[J],2001,37(2).

        2017天天爽夜夜爽精品视频| 久久久精品人妻无码专区不卡| 国产精品成人免费视频网站京东 | 国产成人综合美国十次| 国产av电影区二区三区曰曰骚网| 免费中文熟妇在线影片| 中文字幕亚洲视频三区| 亚洲av无码国产精品久久| 国产精品久久久久影院嫩草| 99精品国产兔费观看久久| 精品人妻av区二区三区| 欧美精品欧美人与动人物牲交| 丰满人妻av无码一区二区三区| 日本a在线播放| 精品国产三区在线观看| 女人被男人爽到呻吟的视频| 国产山东熟女48嗷嗷叫| 福利片免费 亚洲| 国产在线91精品观看| 精品国产拍国产天天人| 人妻丰满熟妇av无码区hd| 亚洲在中文字幕乱码熟女| 青春草在线视频观看| 久久久久久免费毛片精品| 国产亚洲欧美另类久久久| 高清少妇二区三区视频在线观看 | 国产自拍视频在线观看免费| 成人欧美一区二区三区| 亚洲AV秘 无码一区二区三区臀 | 国产精品国产三级久久| 国产免费人成视频在线观看| 久久精品免费无码区| 日本一区二区视频免费在线观看| 亚洲成av人在线观看网址| 无码毛片aaa在线| 蜜桃视频在线免费观看一区二区 | 人妻丰满熟妇岳av无码区hd| 久久精品国产精品青草色艺| 蜜桃av区一区二区三| 欧美熟妇另类久久久久久多毛 | 久久精品国产色蜜蜜麻豆国语版|