【2023年】遼寧省盤錦市全國計算機等級考試數據庫技術真題(含答案)_第1頁
【2023年】遼寧省盤錦市全國計算機等級考試數據庫技術真題(含答案)_第2頁
【2023年】遼寧省盤錦市全國計算機等級考試數據庫技術真題(含答案)_第3頁
【2023年】遼寧省盤錦市全國計算機等級考試數據庫技術真題(含答案)_第4頁
【2023年】遼寧省盤錦市全國計算機等級考試數據庫技術真題(含答案)_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

【2023年】遼寧省盤錦市全國計算機等級考試數據庫技術真題(含答案)學校:________班級:________姓名:________考號:________

一、1.選擇題(10題)1.下列哪一項不屬于郵件服務器的主要功能?

A.接收用戶發送來的郵件

B.為收件人定期清理郵箱

C.根據收件人地址將郵件發送到對方服務器中

D.根據收件人地址將其他郵件服務器發送來的郵件分發到相應的電子郵箱

2.在以下所列的條目中,________是數據庫管理員(DBA)的職責。

①負責管理企業組織的數據庫資源;

②收集和確定有關用戶的需求;

③設計和實現數據庫并按需要修改和轉換數據;

④為用戶提供資料和培訓方面的幫助。

A.①和②B.①②和③C.③和④D.都是

3.利用采用二路歸并排序的方法對序列{72,73,71,23,94,16,5,68}進行排序,第二趟歸并后的結果是

A.[7273][7123][9416][568]

B.[7273][2371)[1694][568]

C.[23717273][1694568]

D.[23717273][5166894]

4.SQL中,數據控制功能主要包括

A.事務管理功能B.數據保護功能C.事務管理功能和數據保護功能D.事務管理功能或數據保護功能

5.設關系R與關系S具有相同的目(或稱度),且相對應的屬性的值取自同一個域,則R-(R-S)等于______。

A.R∪SB.R∩SC.R×SD.R-S

6.已知某二叉樹的后序遍歷序列是dacbe,中序遍歷序列是debac,它的前序遍歷序列是()。

A.acbedB.deabcC.decabD.edbac

7.設R和S分別為r和s元(度)關系,且R有n個元組,S有m個元組。執行關系R和S的笛卡兒積,記作:T=R×S,則下列敘述中正確的是

A.T是一個具有n×m個元組的r×s元的關系

B.T是一個具有n+m個元組的r×s元的關系

C.T是一個具有n+m個元組的r+s元的關系

D.T是一個具有n×m是元組的r+s元的關系

8.UNIFACE應用開發分成3個步驟

A.建模、應用、裝配B.分析、設計、實現C.建模、構造、裝配D.建模、設計、實現

9.在“查詢選修課程號為2,且成績在70分以上的所有學生的學號、姓名和選課名稱”的SQL語句中,將使用到的表是

A.學生信息表s

B.學生信息表s和課程信息表c

C.學生信息表s、課程信息表c和學生選課信息表sc

D.學生信息表s和學生選課信息表sc

10.某二叉樹結點的前序序列為E、A、C、B、D、G、F,對稱序序列為A、B、C、D、E、F、G,則該二叉樹結點的后序序列為()。

A.B、D、C、A、F、G、E

B.B、D、C、F、A、G、E

C.E、G、F、A、C、D、B

D.E、G、A、C、D、F、B

二、填空題(10題)11.描述通信系統的基本技術參數是數據傳輸速率和。

12.在OSl參考模型中,每層可以使用___________層提供的服務。

13.一些進程相互合作共同完成一項任務,進程之間的這種直接的協同工作關系稱為_____。

14.若一顆二叉樹中只有葉結點和左右子樹皆非空的結點,設葉結點的個數為n,則左右子樹皆非空的結點個數為______。

15.創建一個進程的主要任務是建立該進程的______。

16.IPTV包括視頻點播、直播電視和___________3個基本業務。

17.網橋按照路由表的建立方法分為兩類:___________和源路由網橋。

18.m階B+樹的根結點至多有______個子女。

19.在SQL中,DROP和DELETE的區別在于是否刪除了【】結構。

20.SYBASE數據庫系統中提供的CASE工具是

【】

三、單選題(10題)21.收縮整個數據庫的大小,可以采用下列語句:()

A.DBCCSHRINKDATABASE

B.DBCCSHRINKFILE

C.ALTERDATABASE

D.CREATESCHEMA

22.有兩個實體集,并且它們之間存在著一個M∶N聯系,根據概念ER模型轉換成關系數據庫的規則,這個ER結構轉換成表的個數為()

A.1B.2C.3D.4

23.二維數組M[i,j]的元素是4個字符(每個字符占一個存儲單元)組成的串,行下標i的范圍從0到4,列下標j的范圍從0到5。M按行存儲時元素M[3,5]的起始地址與M按列存儲時元素()的起始地址相同。

A.M[2,4]B.M[3,4]C.M[3,5]D.M[4,4]

24.在SQL語言中,()子句能夠實現關系參照性規則。

A.PRIMARYKEY

B.NOTNULL

C.FOREIGNKEY

D.FOREIGNKEY...REFERENCES...

25.下列角色中,具有數據庫中全部用戶表數據的插入、刪除、修改權限且只具有這些權限的角色是__________。

A.db_ownerB.db_datareaderC.db_datawriterD.public

26.某單道批處理系統中有四個作業JOB1、JOB2、JOB3和JOB4,它們到達“輸入井”的時刻和需要的運行時間如下表所示:

假設9:30開始進行作業調度,按照最高響應比作業優先算法,首先被調度的作業是

A.JOB1B.JOB2C.JOB3D.JOB4

27.以下有關數據結構的敘述,正確的是()

A.線性表的線性存儲結構優于鏈式存儲結構

B.二叉樹的第i層上有2i-1個結點,深度為k的二叉樹上有2k-1個結點

C.二維數組是其數據元素為線性表的線性表

D.棧的操作方式是先進先出

28.棧和隊列是兩種重要的線性結構,對它們的描述錯誤的是()。

A.棧頂是允許操作的一端,棧底是不允許操作的一端

B.表達式求值一般采用棧來實現

C.隊列是一種先進先出的線性表,允許對隊列兩端進行操作

D.隊列可以用鏈式存儲結構

29.在關系中選取滿足某個條件的元組的關系代數運算稱之為()

A.選中運算B.選擇運算C.投影運算D.搜索運算

30.如果以鏈表為棧的存儲結構,則退棧操作時()

A.必須判別棧是否滿B.必須判別棧是否空C.判別棧元素的類型D.對棧不作任何判別

四、C語言程序設計題(10題)31.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat把這些數存入數組a中,請考生編制一函數jsVal,其功能是:如果四位數各位上的數字均是奇數,則統計出滿足此條件的個數cnt并把這些四位數按從大到小的順序存入數組b中。最后main函數調用寫函數writeDat把結果cnt以及數組b中符合條件的四位數輸出到0ut.dat文件中。

32.已知數據文件in.dat中存有300個四位數,并已調用讀函數readDat把這些數存入數組a中,請編制一函數jsValue,其功能是:求出于位數上的數加個位數上的數等于百位數上的數加十位數上的數的個數cnt,再把所有滿足此條件的四位數依次存入數組b中,然后對數組b的四位數按從小到大的順序進行排序。最后main函數調用寫函數writeDat把數組b中的數輸出到文件out.dat中。

33.已知數據文件in.dat中存有300個四位數,并已調用讀函數readDat把這些數存入數組a中,請編制一數jsValue,其功能是:求出個位數上的數減千位數上的數減百位數上的數減十位數上的數大于零的個數cnt,再把所有滿足此條件的四位數依次存入數組b中,然后對數組b的四位數按從大到小的順序進行排序。最后main函數調用寫函數writeDat把數組b中的數輸出到文件0ut.dat。

34.已知數據文件in.dat中存有300個四位數,并已調用讀函數readDat把這些數存入數組a中,請編制一函數jsValue,其功能是:求出千位數上的數減百位數上的數減十位數上的數減個位數上的數大于零的個數cnt,再把所有滿足此條件的四位數依次存入數組b中,然后對數組b的四位數按從小到大的順序進行排序。最后main函數調用寫函數writeDat把數組b中的數輸出到文件0ut.dat中。

35.已知在文件in.dat中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位),產品名稱me(字符型10位),單價dj(整型),數量sl(整型),金額je(長整型)五部分組成。其中:金額=單價*數量。函數ReadDat讀取這100個銷售記錄并存入結構數組sell中。請編制函數SortDat,其功能要求:按產品名稱從大到小進行排列,若產品名稱相同,則按金額從大到小進行排列,最終排列結果仍存入結構數組sell中。最后mainoi函數調用函數WriteDat把結果輸出到文件out.dat中。

提示:若中間變量為PROtemp,則可以直接使用結構賦值語句進行解題:產品名稱比較請用函數strcrnp進行解題。例如:sell[i]=temp;

注意:部分源程序存放在test.c文件中。

請勿改動主函數main、讀函數ReadDat和輸出函數WriteDat的內容。

36.程序test.C的功能是:利用以下所示的簡單迭代方法求方程cos(x).x=0的一個實根。迭代公式:Xn+1=cos(xn)(n是迭代次數)

迭代步驟如下:

(1)取X1初值為0.0;

(2)X0=X1,把X1的值賦給x0;

(3)X1=cos(x0),求出一個新的x1;

(4)若x0.X1的絕對值小于0.000001,執行步驟(5),否則執行步驟(2);

(5)所求X1就是方程cos(X)-X=0的一個實根,作為函數值返回。

請編寫函數countValue實現程序的功能,最后main函數調用函數writeDAT把結果輸出到文件0ut.dat中。注意:部分源程序存放在test.C文件中。

請勿改動主函數main和輸出數據函數writeDAT的內容。

37.已知在文件in.dat中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位),產品名稱mc(字符型10位),單價dj(整型),數量s1(整型),金額je(長整型)五部分組成。其中:金額=單價*數量。函數ReadDat讀取這100個銷售記錄并存入結構數組sell中。請編制函數SortDat,其功能要求:按產品代碼從小到大進行排列,若產品代碼相同,則按金額從小大進行排列,最終排列結果仍存入結構數組sell中。最后main函數調用函數WriteDat把結果輸出到文件out.dat中。

提示:若中間變量為PROtemp,則可以直接使用結構賦值語句進行解題;產品代碼比較請用函數strcmp進行解題。例如:sell[i]=temp;

注意:部分源程序存放在test.c文件中。

請勿改動主函數main、讀函數ReadDat和輸出函數WriteDat的內容。

38.已知數據文件in.dat中存有200個四位數,并已調用讀函數readDat把這些數存入數組a中,請考生編制一函數jsVal,其功能是:若一個四位數的千位數位置上的值大于等于百位數位置上的值,百位數位置上的值大于等于十位數位置上的值,以及十位數位置上的值大于等于個位數位置上的值,并且原四位數是奇數,則統計出滿足此條件的個數cnt并把這些四位數按從小到大的順序存入數組b中,最后調用寫函數writeDat把結果cnt以及數組b中符合條件的數輸出到0ut.dat文件中。注意:部分源程序存在test.c文件中。

39.已知在in.dat中存有若干個(個數<200)四位數字的正整數,函數ReadDat讀取這若干個正整數并存入數組XX中。請編制函數CalValue,其功能要求:1.求出該文件中共有多少個正整數totNum;2.求出這些正整數中的各位數字之和是奇數的數的個數totCnt,以及滿足此條件的這些正整數的算術平均值totPjz。最后maini函數調用函數WriteDat把所求的結果輸出到0ut.dat文件中。

注意:部分源程序存放在test.C文件中。

請勿改動數據文件in.dat中的任何數據,主函數main、讀函數ReadDat和輸出數據函數WriteDat的內容。

40.函數readDat是從文件in.dat中讀取20行數據存放到字符串數組XX中(每行字符串長度均小于80)。請編制函數jsSort,其函數的功能是:以行為單位對字符串按下面給定的條件進行排序,排序后的結果仍按行重新存入字符串數組XX中,最后調用函數writeDat把結果XX輸出到文件out.dat中。

條件:字符串從中間一分為二,左邊部分按字符的ASCII值升序排序,右邊部分不變,左邊經排序后再與右邊部分進行交換。如果原字符串長度為奇數,則最中間的字符不參加處理,字符仍放在原位置上。

五、設計與應用題(2題)41.某教務管理系統使用SQLServer2008數據庫管理系統,數據庫軟硬件配置信息如下:Ⅰ.數據庫運行在兩路IntelXeonE5-26092.4GHzCPU(每路CPU4核心),128GB內存、2塊300GB15000轉SAS硬盤(RAIDl)的服務器上;Ⅱ.服務器操作系統為Windows200332位企業版,安裝SP2補丁;Ⅲ.數據庫為SQLServer2008Enterprise(32位),數據庫中總數據量近130GB。近一個學期以來,用戶反映系統運行緩慢,經程序員定位,確定為數據庫服務器響應緩慢,需要進行調優。(10分)

42.設某連鎖商店數據庫中有關系模式R:R(商店編號,商品編號,庫存數量,部門編號,負責人)如果規定:每個商店的每種商品只在一個部門銷售,每個商店的每個部門只有一個負責人,每個商店的每種商品只有一個庫存數量。(10分)(1)請根據上述規定,寫出關系模式R的函數依賴集;(2)請給出關系模式R的候選碼;(3)請說明關系模式R屬于第幾范式,并給出理由;(4)請將R分解成滿足3NF的關系模式。

六、單選題[1分](2題)43.在分布式數據庫的數據分配中,若所有全局數據有且只有一份,他們被分割成若干切片,每個片段被分配在一個特定場地上,則該策略屬于()。

A.集中式B.分割式C.全復制式D.混合式

44.數據庫系統的三級模式結構從數據庫系統管理角度考慮數據的組織與存儲。下列不屬于數據庫三級模式結構的是()。

A.邏輯模式B.物理模式C.外模式D.應用模式

參考答案

1.B解析:電子郵件系統幾乎可以運行在任何硬件與軟件平臺上。各種電子郵件系統所提供的服務功能基本上是相同的,通過它可以完成以下操作:

①創建與發送電子郵件。

②接收、閱讀與管理電子郵件。

③賬號、郵箱與通訊簿管理。

2.D解析:數據庫管理員(DBA)的職責有:

1、負責管理企業組織的數據庫資源;2、收集和確定有關用戶的需求;3、設計和實現數據庫并按需要修改和轉換數據;4、為用戶提供資料和培訓方面的幫助。

3.D解析:二路歸并排序通常先將每兩個子文件歸并,得到n/2個部分排序的較大的子文件,每個子文件中包含2個記錄。再將這些子文件歸并,如此反復,直到最后歸并到一個文件中。掌握二分法查找排序方法和二路歸并排序方法的區別。

4.C解析:由DBMS提供統一的數據控制功能是數據庫系統的特點之一。DBMS中,數據控制功能包括事務管理功能和數據保護功能,即數據庫的恢復、并發控制及數據庫的安全性和完整性控制。

5.B解析:傳統集合運算包括并、交、差和廣義笛卡爾積4種運算。對本題中的關系R-(R-S),進行分解:(R-S)是由屬于R而不屬于S的所有元組組成,R-(R-S)就是有屬于R而不屬于(R-S)的元組組成,部分集合就是由既屬于R又屬于S的所有元組組成,即R∩S。所以本題正確答案為選項B。這類題通過畫圖可以比較容易找到正確答案。

6.D解析:后序遍歷順序是“左子樹—右子樹—樹根節點”:中序遍歷是“左子樹-樹根節點-右子樹”,前序遍歷是“樹根節點—左子樹—右子樹”。根據各種遍歷的算法,不難得出前序遍歷序列為D。

7.D解析:設關系R和S分別為r元和s元關系,定義R和S的笛卡兒積是一個(r+s)元元組的集合,第一個元組的前r個分量來自R的一個元組,后s個分量來自S的一個元組。若R有k1個元組,S有k2個元組,則關系R和關系S的笛卡兒積有k1*k2個元組,記作:R*S。

8.C解析:UNIFACE應用開發分成3個步驟:建模、構造、裝配。

9.C解析:因為在學生信息表中有學生的學號、姓名信息,課程信息表中存有課程名稱、課程號和成績在SC表中就可以獲得。掌握簡單查詢、連接查詢、嵌套查詢三者之間的聯系與區別。

10.A解析:根據前序序列可知到E為根結點,所以后序序列中E必為最后一個元素,A,B,C,D為E的左子樹對稱序列,F,G是在E的右子樹上的對稱序列,再分析可知A是E的左子樹的根,G是E的右子樹的根,C是A的右子結點,B,D分別是C的左右子結點,F是G的左子結點。

11.誤碼率【解析】描述通信系統的基本技術參數是數據傳輸速率和誤碼率。

12.下【解析】0S1參考模型將整個通信功能劃分為7個子層,劃分層次的原則如下:網中各結點都有相同的層次;不同結點內相鄰層之間通過接口通信;同一結點內相鄰層之間通過接口通信;每一層使用下層提供的服務,并向其上層提供服務;不同結點的同等層按照協議實現對等層之間的通信。

13.進程同步或同步進程同步或同步

14.n-1

15.PCB或進程控制塊PCB或進程控制塊

16.時移電視【解析】IPTV是一種利用寬帶網絡為用戶提供交互式多媒體服務的業務,具體來說,電視類服務是指與電視服務相關的服務,如視頻點播、直播電視和時移電視等。

17.透明網橋【解析】網橋按照路由表的建立方法分為兩類:透明網橋和源路由網橋。這兩種網橋標準分別由IEEE802.1與IEEE802.5兩個分委員會制定。

18.m

19.表DROP是刪除表結構,DELETE是刪除了表中的行

20.PowerDesignerPowerDesigner是Sybase公司的CASE工具集,使用它可以方便地對管理信息系統進行分析設計,它幾乎包括了數據庫模型設計的全過程

21.A

22.C

23.B

24.D

25.C

26.B解析:響應比定義為系統對作業的響應時間與作業運行時間的比值。最高響應比作業優先算法優先選擇響應比最高的作業。對JOB1,JOB2、JOB3和JOB4的響應比分別為60/80=0.75、40/20=2、10/40=0.25和0/35=0,因此首先被調度的作業是JOB2,正確答案為選項B。

27.C

28.C解析:隊列是一種先進先出的線性表,它只允許在表的一段進行插入,而在另一端進行刪除,允許插入的一端叫做隊尾,允許刪除的一端叫做隊頭。

29.B

30.B

31.\n【審題關鍵句】各位都是奇數,從大到小排序。

\n【解題思路】

\n本題類似第32套試題,通過審題可以發現主要是對四位數的篩選條件有所不同,即判斷四位數的每一位數都為奇數,參考答案的第8條語句,只需將每位數的判斷條件改為奇數判斷即可。

\n【參考答案】

\n

\n

32.\n【審題關鍵句】千位+個位等于百位+十位個數,把所有滿足此條件的數依次存入數組,按從小到大的順序排序。

\n【解題思路】

\n本題類似第9套試題,通過審題可以發現僅有一個不同點,即要求統計的四位數的條件是“個位+千位=百位+十位”,參考答案的第8條語句,修改if條件語句的判斷條件即可,對于數據交換的整型變量tmp可以自定義其變量名。

\n【參考答案】

\n

\n

33.\n【審題關鍵句】個位-千位-百位-十位數大于零的個數,把所有滿足此條件的數依次存入數組,按從大到小的順序排序。

\n【解題思路】

\n本題類似第9套試題,通過審題可以發現有兩個不同點:①要求統計的四位數的條件是“個位一千位-百位一十位數大于零的個數”,參考答案的第8條語句修改if語句的判斷條件即可。②將統計結果按從大到小的順序排序,參考答案的第13條語句,修改兩數組元素的大小比較符即可。另外,對于數據交換的整型變量tmp可以自定義其變量名。

\n【參考答案】

\n

\n

34.\n【審題關鍵句】千數-百位-十位-個位數大于零的個數,把所有滿足此條件的數依次存入數組,按從小到大的順序排序。

\n【解題思路】

\n本題類似第9套試題,通過審題可以發現僅有一個不同點,即要求統計的四位數的條件是“千數-百位-十位-個位數大于零”,參考答案的第8條語句修改if語句的判斷條件。另外,對于數據交換的整型變量trap可以自定義其變量名。

\n【參考答案】

\n

\n

\n

35.\n【審題關鍵句】計算金額,按產品名稱從大到小進行排列,相同的則按金額從大到小排列,結果存入結構數組。

\n【解題思路】

\n本題類似第57套試題,通過審題可以發現主要是排序條件的設置要求有所不同,參考答案的第8行進行修改即可。

\n【參考答案】

\n

\n

36.\n【審題關鍵句】Xn+1=cos(Xn)的迭代計算。

\n【解題思路】

\n①因為方程cos(x).x=0的根為實數,所以定義兩個雙精度型變量x0,x1。并把變量x1的初值設為0.0。

\n②根據題目中給出的求方程一個實根的迭代算法,在while循環中,首先把變量x1的值賦給x0,然后利用表達式cos(xO)

\n求出一個值x1,再調用vc6.0的求絕對值的庫函數fabs0,判斷如果x0與x1差的絕對值小于0.000001,就認為x1的值是方程cos(x).x=0的一個實根,此時退出循環,把xl的值返回。

\n【參考答案】

\n

37.\n【審題關鍵句】計算金額,按產品代碼從小到大進行排列,相同的則按金額從小到大排列,結果存入結構數組。

\n【解題思路】

\n本題類似第57套試題,通過審題可以發現主要是排序條件的設置要求有所不同,參考答案的第8行進行修改即可。

\n【參考答案】

\n

\n

38.\n【審題關鍵句】四位數的千位>=百位>=十位>=個位,且四位數是奇數,統計出滿足此條件的個數,按從小到大的順序存入數組。

\n【解題思路】

\n本題類似第9套試題,通過審題可以發現主要有兩個不同點:一是要求統計的四位數的條件是“千位>=百位>=十位>=個位”,二是要求該四位數是奇數,這兩個不同點都體現在參考答案的第8條語句中,對該語句進行修改即可,其中,可以判斷奇數的表達式是“a[i]%2”。

\n【參考答案】

\n

\n

39.\n【審題關鍵句】讀取正數,統計個數,各位數之和為奇數的數的個數及平均值。

\n【解題思路】

\n本題類似第46套試題,通過審題可以發現僅有一個不同點,即四位數的各位數之和為奇數,參考答案的第13條語句,將該該語句為判斷各位數字之和是奇數的表達式即可。

\n【參考答案】

\n

\n

40.\n【審題關鍵句】以行為單位從字符串左邊部分升序排序,排序后左邊部分與右邊部分進行交換。如果原字符串長度為奇數,則最中間的字符不參加處理。

\n【解題思路】

\n本題類似第77套試題,通過審題可以發現主要是對字符串左邊部分排序時所采用的排序方式不同,參考答案的第11行,修改if條件語句的設置即可。

\n【參考答案】

\n

\n

41.【解題思路】數據庫性能優化的基本原則就是通過盡可能少的磁盤訪問獲得所需要的數據。SQLSERVER性能優化一般從數據庫設計、應用程序編碼、硬件優化、數據庫索引、SQL語句、事務處理幾個方面人手考慮問題。(1)分析階段:在系統分析階段往往有太多需要關注的地方,系統各種功能性、可用性、可靠性、安全性需求吸引了我們大部分的注意力,但必須注意的是,性能往往是很重要的非功能性需求,必須根據系統的特點確定其實時性需求、響應時間的需求、硬件的配置等。最好能有各種需求量化的指標。(2)設計階段:例如數據庫邏輯設計規范化;合理的冗余;主鍵的設計;外鍵的設計;字段的設計;數據庫物理存儲和環境的設計;數據庫的物理存儲、操作系統環境及網絡環境的設計,皆使得我們的系統在將來能適應較多用戶的并發操作和較大的數據處理量。這里需要注意文件組的作用,適用文件組可以有效的把I/O操作分散到不同的物理硬盤,提高并發能力。(3)系統設計:整個系統的設計,特別是系統結構的設計對性能具有很大的影響。對于一般的OLTP系統,可以選擇C/S結構、三層的C/S結構等,不同的系統結構其性能的關鍵也有所不同。系統設計階段應歸納某些業務邏輯在數據庫編程階段實現,數據庫編程包括數據庫存儲過程、觸發器和函數。用數據庫編程實現業務邏輯的好處是減少網絡流量并能更充分利用數據庫的預編譯和緩存功能;索引設計階段可以根據功能和性能的需求進行初步的索引設計,這里需要根據預計的數據量和查詢來設計索引,可能與將來實際使用時有所區別。(4)編碼階段:編碼階段首先需要所有程序員具備優化意識,也就是在實現功能的同時具備考慮優化性能的思想。數據庫是能進行集合運算的工具,所謂集合運算實際是批量運算,即是盡量減少在客戶端進行大數據量的循環操作,而用SQL語句或者存儲過程代替。這個階段主要是注意在SQL語句等方面的優化,如:盡量少做重復的工作,用SELECT后跟需要的字段代替SELECT*語句,注意事務和鎖,注意I臨時表和表變量的用法,慎用游標和觸發器,盡量使用索引等。(5)硬件優化:RAID(獨立磁盤冗余陣列)是由多個磁盤驅動器(一個陣列)組成的磁盤系統。通過將磁盤陣列當作一個磁盤來對待,基于硬件的RAID允許用戶管理多個磁盤。使用基于硬件的RAID與基于操作系統的RAID相比較可知,基于硬件的RAID能夠提供更佳的性能,如果使用基于操作系統的RAID,那么它將占據其他系統需求的CPU周期,通過使用基于硬件的RAID,用戶在不關閉系統的情況下能夠替換發生故障的驅動器。利用數據庫分區技術,可均勻地把數據分布在系統的磁盤中,平衡I/0訪問,避免I/0瓶頸等。(6)事務處理調優:數據庫的日常運行過程中,可能面臨多個用戶同時對數據庫的并發操作而帶來的數據不一致的問題,如:丟失更新、臟讀和不可重復讀等。并發控制的主要方法是封鎖,鎖的含義即是在一段時間內禁止用戶做某些操作以避免產生數據不一致。對于事務性能的調優,要考慮到事務使用的鎖的個數(在所有其他條件相同的情況下,使用的鎖個數越少,性能越好)、鎖的類型(讀鎖對性能更有利)以及事務持有鎖的時間長短(持有時間越短,性能越好)等情形。【參考答案】根據SQLServer2008數據庫的特性以及題目中的條件,綜合給出以下的調優方案。(1)表結構優化:重新優化數據庫設計結構,規范數據庫邏輯設計;設計主鍵和外鍵;設計合適大小的字段。(2)硬件優化:購買一塊同樣大小的硬盤,將硬盤做成RAID5,用以提高數據庫讀寫速度;增加服務器CPU個數;擴大服務器的內存。(3)索引優化:采用對經常作為條件查詢的列設計索引,在查詢中經常用到的列上建立非聚簇索引,在頻繁進行范圍查詢、排序、分組的列上建立聚簇索引,對于有頻繁進行刪除、插入操作的表不要建立過多的索引。(4)采用視圖:合理使用視圖和分區視圖,在需要更新和刪除操作不多、查詢操作頻繁的表上建立索引視圖。(5)SQL語句優化:選擇運算應盡可能先做,并在對同一個表進行多個選擇運算時,選擇影響較大的語句放在前面,較弱的選擇條件寫在后面,這樣就可以先根據較嚴格的條件得出數據較少的信息,再在這些信息中根據后面較弱的條件得到滿足條件的信息。應避免使用相關子查詢,把子查詢轉換成聯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論