国产激情久久久久影院小草_国产91高跟丝袜_99精品视频99_三级真人片在线观看

SQL tuning筆試題

時(shí)間:2023-03-23 11:38:13 筆試題目 我要投稿
  • 相關(guān)推薦

SQL tuning筆試題

SQL tuning 類

SQL tuning筆試題

  1:列舉幾種表連接方式

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

  復(fù)制代碼

  2:不借助第三方工具,怎樣查看sql的執(zhí)行計(jì)劃

  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'));

  復(fù)制代碼

  3:如何使用CBO,CBO與RULE的區(qū)別

  Rule Based Optimizer(RBO):基于規(guī)則

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

  在optimizer_mode=choose時(shí),如果表有統(tǒng)計(jì)信息(分區(qū)表外),優(yōu)化器將選擇CBO,否則選RBO。RBO遵循簡單的分級(jí)方法學(xué),使用15種級(jí)別要點(diǎn),當(dāng)接收到查詢,優(yōu)化器將評估使用到的要點(diǎn)數(shù)目, 然后選擇最佳級(jí)別(最少的數(shù)量)的執(zhí)行路徑來運(yùn)行查詢。

  CBO嘗試找到最低成本的訪問數(shù)據(jù)的方法,為了最大的吞吐量或最快的初始響應(yīng)時(shí)間,計(jì)算使用不同的執(zhí)行計(jì)劃的成本,并選擇成本最低的一個(gè),關(guān)于表的數(shù)據(jù)內(nèi)容的統(tǒng)計(jì)被用于確定執(zhí)行計(jì)劃。

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

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

  復(fù)制代碼

  5:如何跟蹤某個(gè)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調(diào)整最關(guān)注的是什么

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

  復(fù)制代碼

  7:說說你對索引的認(rèn)識(shí)(索引的結(jié)構(gòu)、對dml影響、為什么提高查詢性能)

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

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

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

  9:綁定變量是什么?綁定變量有什么優(yōu)缺點(diǎn)?

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

  10:如何穩(wěn)定(固定)執(zhí)行計(jì)劃

  query_rewrite_enabled = true

  star_transformation_enabled = true

  optimizer_features_enable = 9.2.0

  創(chuàng)建并使用stored outline  

      11:和排序相關(guān)的內(nèi)存在8i和9i分別怎樣調(diào)整,臨時(shí)表空間的作用是什么

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

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

  臨時(shí)表空間主要作用就是完成系統(tǒng)中的disk sort.

  12:存在表T(a,b,c,d),要根據(jù)字段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筆試題】相關(guān)文章:

筆試題(SQL tuning )09-19

2017年sql考試試題05-13

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

迅雷2011.10.21筆試題08-10

中興2015筆試題08-02

筆經(jīng):加強(qiáng)型試題07-22

SQL優(yōu)化大全08-26

oracle的sql語句06-18

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