<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            筆試題SQL tuning

            時間:2023-03-24 06:57:57 筆試題目 我要投稿
            • 相關推薦

            筆試題(SQL tuning )

            SQL tuning 類
            1 列舉幾種表連接方式
            等連接、非等連接、自連接、外連接(左、右、全)
            2 不借助第三方工具,怎樣查看sql的執行計劃
            I) 使用Explain Plan,查詢PLAN_TABLE;
            EXPLAIN   PLAN
            SET STATEMENT_ID=’QUERY1′
            FOR
            SELECT *
            FROM a
            WHERE aa=1;
            SELECT    operation, options, object_name, object_type, ID, parent_id
            FROM plan_table
            WHERE STATEMENT_ID = ‘QUERY1′
            ORDER BY ID;
            II)SQLPLUS中的SET TRACE 即可看到Execution Plan Statistics
            SET AUTOTRACE ON;
            3:如何使用CBO,CBO與RULE的區別
            IF 初始化參數 OPTIMIZER_MODE = CHOOSE THEN   –(8I DEFAULT)
            IF 做過表分析
            THEN 優化器 Optimizer=CBO(COST);           /*高效*/
            ELSE
            優化器 Optimizer=RBO(RULE);                /*高效*/
            END IF;
            END IF;
            區別:
            RBO根據規則選擇最佳執行路徑來運行查詢。
            CBO根據表統計找到最低成本的訪問數據的方法確定執行計劃。
            使用CBO需要注意:
            I)   需要經常對表進行ANALYZE命令進行分析統計;
            II) 需要穩定執行計劃;
            III)需要使用提示(Hint);
            使用RULE需要注意:
            I)   選擇最有效率的表名順序
            II) 優化SQL的寫法;
            4 如何定位重要(消耗資源多)的SQL
            使用CPU多的用戶session
            SELECT    a.SID, spid, status, SUBSTR (a.program, 1, 40) prog, a.terminal,a.SQL_TEXT,
            osuser, VALUE / 60 / 100 VALUE
            FROM v$session a, v$process b, v$sesstat c
            WHERE c.statistic# = 12 AND c.SID = a.SID AND a.paddr = b.addr
            ORDER BY VALUE DESC;
            5 如何跟蹤某個session的SQL
            利用TRACE 跟蹤
            ALTER SESSION SET SQLTRACE ON;
            COLUMN SQL format a200;
            SELECT    machine, sql_text SQL
            FROM v$sqltext a, v$session b
            WHERE address = sql_address
            AND machine = ‘&A’
            ORDER BY hash_value, piece;
            6 SQL調整最關注的是什么
            檢查系統的I/O問題
            sar-d能檢查整個系統的iostat(IO statistics)
            7 說說你對索引的認識(索引的結構、對dml影響、對查詢影響、為什么提高查詢性能)
                      索引有B-TREE、BIT、CLUSTER等類型。ORACLE使用了一個復雜的自平衡B-tree結構;
                      通常來說,在表上建立恰當的索引,查詢時會改進查詢性能。但在進行插入、刪除、修改時,同時會進行索引的修改,在性能上有一定的影響。
                    有索引且查詢條件能使用索引時,數據庫會先度取索引,根據索引內容和查詢條件,查詢出ROWID,再根據ROWID取出需要的數據。由于索引內容通常比全表內容要少很多,因此通過先讀索引,能減少I/O,提高查詢性能。
            8 使用索引查詢一定能提高查詢的性能嗎?為什么
                     通常,通過索引查詢數據比全表掃描要快.但是我們也必須注意到它的代價.
                     索引需要空間來存儲,也需要定期維護, 每當有記錄在表中增減或索引列被修改時,
                      索引本身也會被修改. 這意味著每條記錄的INSERT,DELETE,UPDATE將為此多付出4,5 次的磁盤I/O. 因為索引需要額外的存儲空間和處理,那些不必要的索引反而會使查詢反應時間變慢.
                      使用索引查詢不一定能提高查詢性能,索引范圍查詢(INDEX RANGE SCAN)適用于兩種情況:
                      基于一個范圍的檢索,一般查詢返回結果集小于表中記錄數的30%宜采用;
                      基于非唯一性索引的檢索
            9 綁定變量是什么?綁定變量有什么優缺點?
                      綁定變量是指在SQL語句中使用變量,改變變量的值來改變SQL語句的執行結果。
                      優點:使用綁定變量,可以減少SQL語句的解析,能減少數據庫引擎消耗在SQL語句解析上的資源。提高了編程效率和可靠性。減少訪問數據庫的次數, 就能實際上減少ORACLE的工作量。
                      缺點:經常需要使用動態SQL的寫法,由于參數的不同,可能SQL的執行效率不同;
            10 如何穩定(固定)執行計劃

            筆試題(SQL tuning )

            【筆試題SQL tuning】相關文章:

            SQL tuning筆試題09-18

            2017年sql考試試題05-13

            Oracle的sql語句模擬試題及答案08-27

            迅雷2011.10.21筆試題08-10

            中興2015筆試題08-02

            筆經:加強型試題07-22

            SQL優化大全08-26

            oracle的sql語句06-18

            海爾04年筆試題及答案07-31

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看