<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-23 11:38:13 筆試題目 我要投稿
            • 相關推薦

            SQL tuning筆試題

            SQL tuning 類

            SQL tuning筆試題

              1:列舉幾種表連接方式

              hash join/merge join/nest loop(cluster join)/index join

              復制代碼

              2:不借助第三方工具,怎樣查看sql的執行計劃

              set autot on

              explain plan set statement_id = item_id for &sql;

              select * from table(dbms_xplan.display);

              或者:

              SQL>EXPLAIN PLAN FOR SELECT * FROM EMP;

              SQL>SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));

              復制代碼

              3:如何使用CBO,CBO與RULE的區別

              Rule Based Optimizer(RBO):基于規則

              Cost Based Optimizer (CBO):基于成本,或者講統計信息。

              在optimizer_mode=choose時,如果表有統計信息(分區表外),優化器將選擇CBO,否則選RBO。RBO遵循簡單的分級方法學,使用15種級別要點,當接收到查詢,優化器將評估使用到的要點數目, 然后選擇最佳級別(最少的數量)的執行路徑來運行查詢。

              CBO嘗試找到最低成本的訪問數據的方法,為了最大的吞吐量或最快的初始響應時間,計算使用不同的執行計劃的成本,并選擇成本最低的一個,關于表的數據內容的統計被用于確定執行計劃。

              4:如何定位重要(消耗資源多)的SQL

              select sql_text from v$sql where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000);

              復制代碼

              5:如何跟蹤某個session的SQL

              exec dbms_system.set_sql_trace_in_session(sid,serial#,sql_trace);

              select sid,serial# from v$session where sid = (select sid from v$mystat where rownum = 1);

              exec dbms_system.set_ev(sid,&serial#,&event_10046,&level_12,'');

              6:SQL調整最關注的是什么

              查看該SQL的response time(db block gets/consistent gets/physical reads/sorts (disk))

              復制代碼

              7:說說你對索引的認識(索引的結構、對dml影響、為什么提高查詢性能)

              b-tree index/bitmap index/function index/patitional index(local/global) 索引通常能提高select/update/delete的性能,會降低insert的速度

              8:使用索引查詢一定能提高查詢的性能嗎?為什么

              索引就是為了提高查詢性能而存在的, 如果在查詢中索引沒有提高性能, 只能說是用錯了索引,或者講是場合不同

              9:綁定變量是什么?綁定變量有什么優缺點?

              綁定變量是相對文本變量來講的,所謂文本變量是指在SQL直接書寫查詢條件,這樣的SQL在不同條件下需要反復解析,綁定變量是指使用變量來代替直接書寫條件,查詢bind value在運行時傳遞,然后綁定執行。優點是減少硬解析,降低CPU的爭用,節省shared_pool ;缺點是不能使用histogram,sql優化比較困難

              10:如何穩定(固定)執行計劃

              query_rewrite_enabled = true

              star_transformation_enabled = true

              optimizer_features_enable = 9.2.0

              創建并使用stored outline  

                  11:和排序相關的內存在8i和9i分別怎樣調整,臨時表空間的作用是什么

              8i中sort_area_size/sort_area_retained_size決定了排序所需要的內存.如果排序操作不能在sort_area_size中完成,就會用到temp表空間

              9i中如果workarea_size_policy=auto時,排序在pga內進行,通常pga_aggregate_target的1/20可以用來進行disk sort;如果workarea_size_policy=manual時,排序需要的內存由sort_area_size決定.在執行order by/group by/distinct/union/create index/index rebuild/minus等操作時,如果在pga或sort_area_size中不能完成,排序將在臨時表空間進行(disk sort),

              臨時表空間主要作用就是完成系統中的disk sort.

              12:存在表T(a,b,c,d),要根據字段c排序后取第21—30條記錄顯示,請給出sql

              create table t(a number(),b number(),c number(),d number());

              /

              begin

              for i in 1 .. 300 loop

              insert into t values(mod(i,2),i/2,dbms_random.value(1,300),i/4);

              end loop;

              end;

              /

              select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30;

              /

              select * from (select * from test order by c desc) x where rownum < 30

              minus

              select * from (select * from test order by c desc) y where rownum < 20 order by 3 desc

              相比之 minus性能較差

             

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

            筆試題(SQL tuning )09-19

            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>
                      黄色视频在线观看