




已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、基礎(chǔ)概念1. 列舉幾種表連接方式Answer:等連接(內(nèi)連接)、非等連接、自連接、外連接(左、右、全)Or hash join/merge join/nest loop(cluster join)/index join ?ORACLE 8i,9i 表連接方法。 一般的相等連接: select * from a, b where a.id = b.id; 這個(gè)就屬于內(nèi)連接。 對(duì)于外連接:Oracle中可以使用“(+) ”來(lái)表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN LEFT OUTER JOIN:左外關(guān)聯(lián)SELECT e.last_name, e.department_id, d.department_nameFROM employees eLEFT OUTER JOIN departments dON (e.department_id = d.department_id);等價(jià)于SELECT e.last_name, e.department_id, d.department_nameFROM employees e, departments dWHERE e.department_id=d.department_id(+)結(jié)果為:所有員工及對(duì)應(yīng)部門(mén)的記錄,包括沒(méi)有對(duì)應(yīng)部門(mén)編號(hào)department_id的員工記錄。 RIGHT OUTER JOIN:右外關(guān)聯(lián)SELECT e.last_name, e.department_id, d.department_nameFROM employees eRIGHT OUTER JOIN departments dON (e.department_id = d.department_id);等價(jià)于SELECT e.last_name, e.department_id, d.department_nameFROM employees e, departments dWHERE e.department_id(+)=d.department_id結(jié)果為:所有員工及對(duì)應(yīng)部門(mén)的記錄,包括沒(méi)有任何員工的部門(mén)記錄。 FULL OUTER JOIN:全外關(guān)聯(lián)SELECT e.last_name, e.department_id, d.department_nameFROM employees eFULL OUTER JOIN departments dON (e.department_id = d.department_id);結(jié)果為:所有員工及對(duì)應(yīng)部門(mén)的記錄,包括沒(méi)有對(duì)應(yīng)部門(mén)編號(hào)department_id的員工記錄和沒(méi)有任何員工的部門(mén)記錄。ORACLE8i是不直接支持完全外連接的語(yǔ)法,也就是說(shuō)不能在左右兩個(gè)表上同時(shí)加上(+),下面是在ORACLE8i可以參考的完全外連接語(yǔ)法select t1.id,t2.id from table1 t1,table t2 where t1.id=t2.id(+)unionselect t1.id,t2.id from table1 t1,table t2 where t1.id(+)=t2.id連接類型定義 圖示 例子內(nèi)連接 只連接匹配的行 select A.c1,B.c2 from A join B on A.c3 = B.c3;左外連接 包含左邊表的全部行(不管右邊的表中是否存在與它們匹配的行)以及右邊表中全部匹配的行 select A.c1,B.c2 from A left join B on A.c3 = B.c3;右外連接 包含右邊表的全部行(不管左邊的表中是否存在與它們匹配的行)以及左邊表中全部匹配的行 select A.c1,B.c2 from A right join B on A.c3 = B.c3;全外連接 包含左、右兩個(gè)表的全部行,不管在另一邊的表中是否存在與它們匹配的行 select A.c1,B.c2 from A full join B on A.c3 = B.c3;(theta)連接 使用等值以外的條件來(lái)匹配左、右兩個(gè)表中的行 select A.c1,B.c2 from A join B on A.c3 != B.c3;交叉連接 生成笛卡爾積它不使用任何匹配或者選取條件,而是直接將一個(gè)數(shù)據(jù)源中的每個(gè)行與另一個(gè)數(shù)據(jù)源的每個(gè)行一一匹配 select A.c1,B.c2 from A,B;2. 不借助第三方工具,怎樣查看sql的執(zhí)行計(jì)劃I) 使用Explain Plan,查詢PLAN_TABLE;EXPLAIN PLANSET STATEMENT_ID=QUERY1FORSELECT *FROM aWHERE aa=1;SELECT operation, options, object_name, object_type, ID, parent_idFROM plan_tableWHERE STATEMENT_ID = QUERY1ORDER BY ID;II)SQLPLUS中的SET TRACE 即可看到Execution Plan StatisticsSET AUTOTRACE ON;3. 如何使用CBO,CBO與RULE的區(qū)別IF 初始化參數(shù) OPTIMIZER_MODE = CHOOSE THEN (8I DEFAULT)IF 做過(guò)表分析THEN 優(yōu)化器 Optimizer=CBO(COST); /*高效*/ELSE優(yōu)化器 Optimizer=RBO(RULE); /*高效*/END IF;END IF;區(qū)別:RBO根據(jù)規(guī)則選擇最佳執(zhí)行路徑來(lái)運(yùn)行查詢。CBO根據(jù)表統(tǒng)計(jì)找到最低成本的訪問(wèn)數(shù)據(jù)的方法確定執(zhí)行計(jì)劃。使用CBO需要注意:I) 需要經(jīng)常對(duì)表進(jìn)行ANALYZE命令進(jìn)行分析統(tǒng)計(jì);II) 需要穩(wěn)定執(zhí)行計(jì)劃;III)需要使用提示(Hint);使用RULE需要注意:I) 選擇最有效率的表名順序II) 優(yōu)化SQL的寫(xiě)法;在optimizer_mode=choose時(shí),如果表有統(tǒng)計(jì)信息(分區(qū)表外),優(yōu)化器將選擇CBO,否則選RBO。RBO遵循簡(jiǎn)單的分級(jí)方法學(xué),使用15種級(jí)別要點(diǎn),當(dāng)接收到查詢,優(yōu)化器將評(píng)估使用到的要點(diǎn)數(shù)目,然后選擇最佳級(jí)別(最少的數(shù)量)的執(zhí)行路徑來(lái)運(yùn)行查詢。CBO嘗試找到最低成本的訪問(wèn)數(shù)據(jù)的方法,為了最大的吞吐量或最快的初始響應(yīng)時(shí)間,計(jì)算使用不同的執(zhí)行計(jì)劃的成本,并選擇成本最低的一個(gè),關(guān)于表的數(shù)據(jù)內(nèi)容的統(tǒng)計(jì)被用于確定執(zhí)行計(jì)劃。4. 如何定位重要(消耗資源多)的SQL使用CPU多的用戶sessionSELECT a.SID, spid, status, SUBSTR (gram, 1, 40) prog, a.terminal,a.SQL_TEXT, osuser, VALUE / 60 / 100 VALUEFROM v$session a, v$process b, v$sesstat cWHERE c.statistic# = 12 AND c.SID = a.SID AND a.paddr = b.addrORDER BY VALUE DESC;select sql_text from v$sqlwhere disk_reads 1000 or (executions 0 and buffer_gets/executions 30000);5. 如何跟蹤某個(gè)session的SQL利用TRACE 跟蹤ALTER SESSION SET SQLTRACE ON;COLUMN SQL format a200;SELECT machine, sql_text SQLFROM v$sqltext a, v$session bWHERE address = sql_addressAND machine = &AORDER BY hash_value, piece;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)注的是什么檢查系統(tǒng)的I/O問(wèn)題sard能檢查整個(gè)系統(tǒng)的iostat(IO statistics)查看該SQL的response time(db block gets/consistent gets/physical reads/sorts (disk)7. 說(shuō)說(shuō)你對(duì)索引的認(rèn)識(shí)(索引的結(jié)構(gòu)、對(duì)dml影響、對(duì)查詢影響、為什么提高查詢性能)索引有B-TREE、BIT、CLUSTER等類型。ORACLE使用了一個(gè)復(fù)雜的自平衡B-tree結(jié)構(gòu);通常來(lái)說(shuō),在表上建立恰當(dāng)?shù)乃饕?,查詢時(shí)會(huì)改進(jìn)查詢性能。但在進(jìn)行插入、刪除、修改時(shí),同時(shí)會(huì)進(jìn)行索引的修改,在性能上有一定的影響。有索引且查詢條件能使用索引時(shí),數(shù)據(jù)庫(kù)會(huì)先度取索引,根據(jù)索引內(nèi)容和查詢條件,查詢出ROWID,再根據(jù)ROWID取出需要的數(shù)據(jù)。由于索引內(nèi)容通常比全表內(nèi)容要少很多,因此通過(guò)先讀索引,能減少I(mǎi)/O,提高查詢性能。b-tree index/bitmap index/function index/patitional index(local/global)索引通常能提高select/update/delete的性能,會(huì)降低insert的速度,8. 使用索引查詢一定能提高查詢的性能嗎?為什么通常,通過(guò)索引查詢數(shù)據(jù)比全表掃描要快.但是我們也必須注意到它的代價(jià).索引需要空間來(lái)存儲(chǔ),也需要定期維護(hù), 每當(dāng)有記錄在表中增減或索引列被修改時(shí),索引本身也會(huì)被修改. 這意味著每條記錄的INSERT,DELETE,UPDATE將為此多付出4,5 次的磁盤(pán)I/O. 因?yàn)樗饕枰~外的存儲(chǔ)空間和處理,那些不必要的索引反而會(huì)使查詢反應(yīng)時(shí)間變慢.使用索引查詢不一定能提高查詢性能,索引范圍查詢(INDEX RANGE SCAN)適用于兩種情況:基于一個(gè)范圍的檢索,一般查詢返回結(jié)果集小于表中記錄數(shù)的30%宜采用;基于非唯一性索引的檢索索引就是為了提高查詢性能而存在的,如果在查詢中索引沒(méi)有提高性能,只能說(shuō)是用錯(cuò)了索引,或者講是場(chǎng)合不同9. 綁定變量是什么?綁定變量有什么優(yōu)缺點(diǎn)?綁定變量是指在SQL語(yǔ)句中使用變量,改變變量的值來(lái)改變SQL語(yǔ)句的執(zhí)行結(jié)果。優(yōu)點(diǎn):使用綁定變量,可以減少SQL語(yǔ)句的解析,能減少數(shù)據(jù)庫(kù)引擎消耗在SQL語(yǔ)句解析上的資源。提高了編程效率和可靠性。減少訪問(wèn)數(shù)據(jù)庫(kù)的次數(shù), 就能實(shí)際上減少ORACLE的工作量。缺點(diǎn):經(jīng)常需要使用動(dòng)態(tài)SQL的寫(xiě)法,由于參數(shù)的不同,可能SQL的執(zhí)行效率不同;綁定變量是相對(duì)文本變量來(lái)講的,所謂文本變量是指在SQL直接書(shū)寫(xiě)查詢條件,這樣的SQL在不同條件下需要反復(fù)解析,綁定變量是指使用變量來(lái)代替直接書(shū)寫(xiě)條件,查詢bind value在運(yùn)行時(shí)傳遞,然后綁定執(zhí)行。優(yōu)點(diǎn)是減少硬解析,降低CPU的爭(zhēng)用,節(jié)省shared_pool缺點(diǎn)是不能使用histogram,sql優(yōu)化比較困難10. 如何穩(wěn)定(固定)執(zhí)行計(jì)劃可以在SQL語(yǔ)句中指定執(zhí)行計(jì)劃。使用HINTS;query_rewrite_enabled = truestar_transformation_enabled = trueoptimizer_features_enable = 9.2.0創(chuàng)建并使用stored outline11. 和排序相關(guān)的內(nèi)存在8i和9i分別怎樣調(diào)整,臨時(shí)表空間的作用是什么SORT_AREA_SIZE 在進(jìn)行排序操作時(shí),如果排序的內(nèi)容太多,內(nèi)存里不能全部放下,則需要進(jìn)行外部排序,此時(shí)需要利用臨時(shí)表空間來(lái)存放排序的中間結(jié)果。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可以用來(lái)進(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排序后取第2130條記錄顯示,請(qǐng)給出sqlSELECT *FROM (SELECT ROWNUM AS row_num, tmp_tab.*FROM (SELECT a, b, c, dFROM TORDER BY c) tmp_tabWHERE ROWNUM = 20ORDER BY row_num;create table t(a number(,b number(,c number(,d number();/beginfor i in 1 . 300 loopinsert 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 30minusselect * from (select * from test order by c desc) y where rownum alter system archive log current;數(shù)據(jù)庫(kù)只有運(yùn)行在ARCHIVELOG模式下,并且能夠進(jìn)行自動(dòng)歸檔,才可以進(jìn)行聯(lián)機(jī)備份。有了聯(lián)機(jī)備份才有可能進(jìn)行完全恢復(fù)。3 如果一個(gè)表在2004-08-04 10:30:00 被drop,在有完善的歸檔和備份的情況下,如何恢復(fù)9i 新增的FLASH BACK 應(yīng)該可以;Logminer應(yīng)該可以找出DML。有完善的歸檔和備份,先歸檔當(dāng)前數(shù)據(jù),然后可以先恢復(fù)到刪除的時(shí)間點(diǎn)之前,把DROP 的表導(dǎo)出來(lái),然后再恢復(fù)到最后歸檔時(shí)間;手工拷貝回所有備份的數(shù)據(jù)文件Sqlstartup mount;sqlalter database recover automatic until time 2004-08-04:10:30:00;sqlalter database open resetlogs;4 rman是什么,有何特點(diǎn)RMAN(Recovery Manager)是DBA的一個(gè)重要工具,用于備份、還原和恢復(fù)oracle數(shù)據(jù)庫(kù), RMAN 可以用來(lái)備份和恢復(fù)數(shù)據(jù)庫(kù)文件、歸檔日志、控制文件、系統(tǒng)參數(shù)文件,也可以用來(lái)執(zhí)行完全或不完全的數(shù)據(jù)庫(kù)恢復(fù)。RMAN有三種不同的用戶接口:COMMAND LINE方式、GUI 方式(集成在OEM 中的備份管理器)、API 方式(用于集成到第三方的備份軟件中)。具有如下特點(diǎn):1)功能類似物理備份,但比物理備份強(qiáng)大N倍;2)可以壓縮空塊;3)可以在塊水平上實(shí)現(xiàn)增量;4)可以把備份的輸出打包成備份集,也可以按固定大小分割備份集;5)備份與恢復(fù)的過(guò)程可以自動(dòng)管理;6)可以使用腳本(存在Recovery catalog 中)7)可以做壞塊監(jiān)測(cè)5 standby的特點(diǎn)備用數(shù)據(jù)庫(kù)(standby database):ORACLE推出的一種高可用性(HIGH AVAILABLE)數(shù)據(jù)庫(kù)方案,在主節(jié)點(diǎn)與備用節(jié)點(diǎn)間通過(guò)日志同步來(lái)保證數(shù)據(jù)的同步,備用節(jié)點(diǎn)作為主節(jié)點(diǎn)的備份,可以實(shí)現(xiàn)快速切換與災(zāi)難性恢復(fù),從920開(kāi)始,還開(kāi)始支持物理與邏輯備用服務(wù)器。9i中的三種數(shù)據(jù)保護(hù)模式分別是:1)、MAXIMIZE PROTECTION :最大數(shù)據(jù)保護(hù)與無(wú)數(shù)據(jù)分歧,LGWR將同時(shí)傳送到備用節(jié)點(diǎn),在主節(jié)點(diǎn)事務(wù)確認(rèn)之前,備用節(jié)點(diǎn)也必須完全收到日志數(shù)據(jù)。如果網(wǎng)絡(luò)不好,引起LGWR不能傳送數(shù)據(jù),將引起嚴(yán)重的性能問(wèn)題,導(dǎo)致主節(jié)點(diǎn)DOWN機(jī)。2)、MAXIMIZE AVAILABILITY :無(wú)數(shù)據(jù)丟失模式,允許數(shù)據(jù)分歧,允許異步傳送。正常情況下運(yùn)行在最大保護(hù)模式,在主節(jié)點(diǎn)與備用節(jié)點(diǎn)的網(wǎng)絡(luò)斷開(kāi)或連接不正常時(shí),自動(dòng)切換到最大性能模式,主節(jié)點(diǎn)的操作還是可以繼續(xù)的。在網(wǎng)絡(luò)不好的情況下有較大的性能影響。3)、MAXIMIZE PERFORMANCE:這種模式應(yīng)當(dāng)可以說(shuō)是從8i繼承過(guò)來(lái)的備用服務(wù)器模式,異步傳送,無(wú)數(shù)據(jù)同步檢查,可能丟失數(shù)據(jù),但是能獲得主節(jié)點(diǎn)的最大性能。9i在配置DATA GUARD的時(shí)候默認(rèn)就是MAXIMIZE PERFORMANCE6 對(duì)于一個(gè)要求恢復(fù)時(shí)間比較短的系統(tǒng)(數(shù)據(jù)庫(kù)50G,每天歸檔5G),你如何設(shè)計(jì)備份策略數(shù)據(jù)庫(kù)比較大邏輯備份沒(méi)什么必要,每天歸檔5G,每周三/周六自動(dòng)歸檔10G,每月RMAN歸檔全庫(kù)。應(yīng)該有standby。rman/每月一號(hào) level 0 每周末/周三 level 1 其它每天level 2四:系統(tǒng)管理類1. 對(duì)于一個(gè)存在系統(tǒng)性能的系統(tǒng),說(shuō)出你的診斷處理思路 做statspack收集系統(tǒng)相關(guān)信息 了解系統(tǒng)大致情況/確定是否存在參數(shù)設(shè)置不合適的地方/查看top 5 event/查看top sql等 查v$system_event/v$session_event/v$session_wait 從v$system_event開(kāi)始,確定需要什么資源(db file sequential read)等,深入研究v$session_event,確定等待事件涉及的會(huì)話,從v$session_wait確定詳細(xì)的資源爭(zhēng)用情況(p1-p3的值:file_id/block_id/blocks等) 通過(guò)v$sql/v$sqltext/v$sqlarea表確定disk_reads、(buffer_gets/executions)值較大的SQL2. 列舉幾種診斷IO、CPU、性能狀況的方法top uptime vmstat iostat statspack sql_trace/tkprof查v$system_event/v$session_event/v$session_wait查v$sqlarea(disk_reads或buffer_gets/executions較大的SQL)或者第三方的監(jiān)視工具,TOAD就不錯(cuò)。3. 對(duì)statspack有何認(rèn)識(shí)認(rèn)識(shí)不深。僅限了解。StapSpack是Oracle公司提供的一個(gè)收集數(shù)據(jù)庫(kù)運(yùn)行性能指標(biāo)的軟件包。可以做數(shù)據(jù)庫(kù)健康檢查報(bào)告。StapSpack是Oracle公司提供的一個(gè)收集數(shù)據(jù)庫(kù)運(yùn)行性能指標(biāo)的軟件包,該軟件包從8i起,在9i、10g都有顯著的增強(qiáng)該軟件包的輔助表(存儲(chǔ)相關(guān)參數(shù)與收集的性能指標(biāo)的表)由最初的25個(gè)增長(zhǎng)到43個(gè)收集級(jí)別參數(shù)由原來(lái)的3個(gè)(0、5、10)增加到5個(gè)(0、5、6、7、10)通過(guò)分析收集的性能指標(biāo),數(shù)據(jù)庫(kù)管理員可以詳細(xì)地了解數(shù)據(jù)庫(kù)目前的運(yùn)行情況,對(duì)數(shù)據(jù)庫(kù)實(shí)例、等待事件、SQL等進(jìn)行優(yōu)化調(diào)整利用statspack收集的snapshot,可以統(tǒng)計(jì)制作數(shù)據(jù)庫(kù)的各種性能指標(biāo)的統(tǒng)計(jì)趨勢(shì)圖表。4. 如果系統(tǒng)現(xiàn)在需要在一個(gè)很大的表上創(chuàng)建一個(gè)索引,你會(huì)考慮那些因素,如何做以盡量減小對(duì)應(yīng)用的影響可以先表分析一下,然后測(cè)試創(chuàng)建索引前后對(duì)應(yīng)用的性能影響;需要考慮的是該索引列不經(jīng)常更新,不是有很多重復(fù)值的情況時(shí), 在大表中使用索引特別有效. 創(chuàng)建的索引可以跟數(shù)據(jù)表分不同表空間存儲(chǔ)。在系統(tǒng)比較空閑時(shí)nologging選項(xiàng)(如果有dataguard則不可以使用nologging)大的sort_ared_size或pga_aggregate_target較大5. 對(duì)raid10 和raid5有何認(rèn)識(shí)RAID 10(或稱RAID 10)與RAID 01不同,它是用硬盤(pán)驅(qū)動(dòng)器先組成RAID 1陣列,然后在RAID 1陣列之間再組成RAID 0陣列。RAID 10模式同RAID 0+1模式一樣具有良好的數(shù)據(jù)傳輸性能,但卻比RAID 0+1具有更高的可靠性。RAID 10陣列的實(shí)際容量為Mn/2,磁盤(pán)利用率為50。RAID 10也需要至少4個(gè)硬盤(pán)驅(qū)動(dòng)器構(gòu)成,因而價(jià)格昂貴。RAID 10的可靠性同RAID 1一樣,但由于RAID 10硬盤(pán)驅(qū)動(dòng)器之間有數(shù)據(jù)分割,因而數(shù)據(jù)傳輸性能優(yōu)良。RAID 5與RAID 3很相似,不同之處在于RAID 5的奇偶校驗(yàn)信息也同數(shù)據(jù)一樣被分割保存到所有的硬盤(pán)驅(qū)動(dòng)器,而不是寫(xiě)入一個(gè)指定的硬盤(pán)驅(qū)動(dòng)器,從而消除了單個(gè)奇偶校驗(yàn)硬盤(pán)驅(qū)動(dòng)器的瓶頸問(wèn)題。RAID 5磁盤(pán)陣列的性能比RAID 3有所提高,但仍然需要至少3塊硬盤(pán)驅(qū)動(dòng)器。其實(shí)際容量為M(n-1),磁盤(pán)利用率為(n-1)/n 。五:綜合隨意類1. 你最擅長(zhǎng)的是oracle哪部分?pl/sql及sql優(yōu)化2. 喜歡oracle嗎?喜歡上論壇嗎?或者偏好oracle的哪一部分?喜歡。PL/SQL比較得心應(yīng)手。3. 隨意說(shuō)說(shuō)你覺(jué)得oracle最有意思的部分或者最困難的部分我對(duì)數(shù)據(jù)庫(kù)的備份/恢復(fù)和性能調(diào)優(yōu)經(jīng)驗(yàn)明顯不足,自然覺(jué)得有些困難?;贠RACLE的研究應(yīng)該是個(gè)寬廣的領(lǐng)域,所以我覺(jué)得還是有意思的。4. 為何要選擇做DBA呢?我對(duì)數(shù)據(jù)庫(kù)的備份/恢復(fù)和性能調(diào)優(yōu)經(jīng)驗(yàn)明顯不足,主要是缺乏環(huán)境和交流。因此,算不上什么DBA。不過(guò)因此我更需要這樣的機(jī)會(huì)。不過(guò)就整個(gè)ORACLE 來(lái)說(shuō),一直從事與它相關(guān)的工作,感情還是頗深的。放棄可惜。而且就技術(shù)本身而言我覺(jué)得自己還是有學(xué)習(xí)和創(chuàng)新的能力,它的諸如數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)挖掘之類的領(lǐng)域也很廣。 六:Databases Questions & Answers1. What are two methods of retrieving SQL?2. What cursor type do you use to retrieve multiple recordsets?3. What action do you have to perform before retrieving data from the next result set of a stored procedure?Move the cursor down one row from its current position. A ResultSet cursor is initially positioned before the first row. Before you can get to the first row, you would need to Move the cursor down by one row ( For ex: in java the first call to next makes the first row the current row; the second call makes the second row the current row, and so on).4. What is the basic form of a SQL statement to read data out of a table?SELECT * FROM table_name;5. What structure can you have the database make to speed up table reads?The question is not correct. “What structure can you have the database make to speed up table reads?” It is not clear what exactly the term “structure” means in this case. Follow the rules of DB tuning we have to:1) properly use indexes ( different types of indexes)2) properly locate different DB objects across different tablespaces, files and so on.3) Create a special space (tablespace) to locate some of the data with special datatypes( for example CLOB, LOB and )6. What is a “join”?Joins merge the data of two related tables into a single result set, presenting a denormalized view of the data.7. What is a “constraint”?A constraint allows you to apply simple referential integrity checks to a table. There are 5 primary types of constraints that are currently supported by SQL Server:PRIMARY/UNIQUE enforces uniqueness of a particular table column.DEFAULT specifies a default value for a column in case an insert operation does not provide one.FOREIGN KEY validates that every value in a column exists in a column of another table.CHECK checks that every value stored in a column is in some specified listNOT NULL is a constraint which does not allow values in the specific column to be null. And also it is the only constraint which is not a table level constraint.8. What is a “primary key”?Primary Key is a type of a constraint enforcing uniqueness and data integrity for each row of a table. All columns participating in a primary key constraint must possess the NOT NULL property.9. What is a “functional dependency”? How does it relate to database table design?What functional dependence in the context of a database means is that: Assume that a table exists in the database called TABLE with a composite primary key (A, B) and other non-key attributes (C, D, E). Functional dependency in general, would mean that any non-key attribute C D or E being dependent on the primary key (A and B) in our table here.Partial functional dependency, on the other hand, is another corollary of the above, which states that all non-key attributes C D or E if dependent on the subset of the primary key (A and B) and not on it as a whole.Example :-Fully Functional Dependent : C D E A BPartial Functional dependency : C A, D E BHope that helps!10. What is a “trigger”?A trigger is a database object directly associated with a particular table. It fires whenever a specific statement/type of statement is issued against that table. The types of statements are insert, update, delete and query statements. Basically, trigger is a set of SQL statements that execute in response to a data modification/retrieval event on a table.Other than table triggers there are also schema and database triggers. These can be made to fire when new objects are created, when a user logs in, when the database shutdown etc. Table level triggers can be classified into row and statement level triggers and those can be further broken down into before and after triggers. Before triggers can modify data.11. What is “index covering” of a query?A nonclustered index that includes (or covers) all columns used in a query is called a covering index. When SQL server can use a nonclustered index to resolve the query, it will prefer to scan the index rather than the table, which typically takes fewer data pages. If your query uses only columns included in the index, then SQL server may scan this index to produce the desired output.12. What is a SQL view?View is a precompli
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場(chǎng)施工清場(chǎng)方案(3篇)
- 電梯環(huán)境改造方案(3篇)
- 景區(qū)門(mén)樓改建方案(3篇)
- 基礎(chǔ)護(hù)理教學(xué)教學(xué)課件
- 服裝導(dǎo)購(gòu)績(jī)效方案(3篇)
- 樣品生產(chǎn)控制方案(3篇)
- 民族地區(qū)草場(chǎng)承包與民族團(tuán)結(jié)進(jìn)步協(xié)議
- 菜鳥(niǎo)驛站快遞網(wǎng)點(diǎn)轉(zhuǎn)讓與經(jīng)營(yíng)規(guī)范協(xié)議
- 出租車駕駛員心理健康保障合同
- 廠房拆除與拆除區(qū)域安全防護(hù)與交通管制合同
- 商務(wù)英語(yǔ)寫(xiě)作實(shí)踐智慧樹(shù)知到答案章節(jié)測(cè)試2023年中北大學(xué)
- 社會(huì)治安動(dòng)態(tài)視頻監(jiān)控系統(tǒng)工程建設(shè)方案
- 脫硫塔玻璃鱗片膠泥襯里施工組織設(shè)計(jì)
- XB/T 505-2011汽油車排氣凈化催化劑載體
- GB/T 3672.2-2002橡膠制品的公差第2部分:幾何公差
- GB/T 27744-2021異步起動(dòng)永磁同步電動(dòng)機(jī)技術(shù)條件及能效分級(jí)(機(jī)座號(hào)80~355)
- GB 8076-2008混凝土外加劑
- 寶盾轉(zhuǎn)門(mén)故障代碼
- 【課件】草原上的小木屋
- 醫(yī)務(wù)人員違規(guī)行為與年度考核掛鉤制度
- 空調(diào)維保質(zhì)量保障體系及措施方案
評(píng)論
0/150
提交評(píng)論