一二三区免费观看|av无码字幕av|亚洲AV综合色区无码一区|五月激情网婷婷激情|久久久久久久久久久久久大色天下|国产97av在线|四虎一区在线观看|96人人操_人人|九九九日本精品免费观看|伊人久久激情

計算機三級數據庫分析真題

時間:2024-06-19 04:19:48 計算機等級 我要投稿
  • 相關推薦

2016計算機三級數據庫分析真題

  2016年上半年計算機考試已經過去了,yjbys小編第一時間為大家分享的是本次計算機三級數據庫的考試真題,希望對大家有所幫助!

  Q1:

  設某全國性的運輸企業(yè)建立了大型OLTP系統(tǒng),并在該系統(tǒng)之上建立了數據倉庫。OLTP系統(tǒng)和數據倉庫中有如下數據表:

  運輸明細表(運輸單ID,發(fā)送站ID,終到站ID,貨物ID,貨物重量,運輸價格,發(fā)貨日期)

  匯總表1(發(fā)送站ID,終到站ID,貨物ID,發(fā)貨日期,總重,總運價)

  匯總表2(發(fā)送站ID,終到地區(qū)ID,貨物ID,發(fā)貨日期,總重,總運價)

  匯總表3(發(fā)送站ID,終到站ID,貨物ID,發(fā)貨月份,總重,總運價)

  匯總表4(發(fā)送地區(qū)ID,終到地區(qū)ID,貨物類別ID,發(fā)貨日期,總重,總運價)

  該企業(yè)管理的貨運站約有100個,貨物約有500種共10類,各匯總表都建有主碼,且各表有合理的維護策略,在每次維護后數據能保持一致。設有視圖V,該視圖的訪問頻率很高,其查詢結果模式為(發(fā)送地區(qū)ID,終到站ID,發(fā)貨月份,總重,總運價),該視圖現以匯總表1為計算數據源。經監(jiān)控發(fā)現,匯總表1的被訪問頻率過高,導致系統(tǒng)整體性能下降,而其它匯總表被訪問頻率較低。在不增加匯總表和索引的情況下,請給出一個改善系統(tǒng)服務性能的優(yōu)化方案,并簡要說明理由。

  A1:

  由于匯總表1和視圖的模式訪問頻率都很高,而且視圖的數據源來自匯總表1,又因為其他匯總表的訪問率較低,所以只需要將視圖的數據源綁定為匯總表3,因為匯總表3也可以滿足視圖的輸出模式。這樣不僅提升了匯總表3的數據訪問率,而且降低了匯總表1的數據訪問率,系統(tǒng)性能和服務性能得到了很大的優(yōu)化。又因為貨物約有500種,共10類,可以再建立一個視圖綁定數據源為匯總表4,這樣就可以充分利用匯總表4的數據信息,從而可以進一步完善系統(tǒng)性能的優(yōu)化。

  Q2:

  在進行某學校教務管理系統(tǒng)的數據庫設計時,數據庫設計人員設計了如下幾個關系模式:

  系(系號,系名),系號為主碼

  學生(學號,姓名,所在系號),學號為主碼

  課程(課程號,課程名,開課系號),課程號為主碼

  選課(學號,課程號,選課時間),學號和課程號為主碼(8分)

  開發(fā)人員在將關系模式實施到SQL Server 2008的"教務"數據庫時,使用了如下表結構定義語句:

  CREATE TABLE 系 (

  系號 varchar(10) NOT NULL ,

  系名 varchar(100))

  CREATE TABLE 學生 (

  學號 varchar(50) NOT NULL ,

  姓名 varchar(50),

  所在系號 varchar(10))

  CREATE TABLE課程 (

  課程號 varchar(50) NOT NULL ,

  課程名 varchar(100),

  開課系號 varchar(10))

  CREATE TABLE 選課 (

  學號 varchar(50) NOT NULL ,

  課程號 varchar(50) NOT NULL ,

  選課時間 datetime )

  在執(zhí)行如下查詢語句時發(fā)現執(zhí)行效率很低:

  SELECT * FROM 選課 JOIN 學生 ON 學生.學號= 選課.學號

  JOIN 系 ON 系.系號 = 學生.所在系號

  JOIN 課程 ON 課程.課程號 = 選課.課程號

  WHERE 系.系號=′012′

  AND convert(varchar(10),選課時間,120)>= ′2010-01-01′

  (1)在查找原因時發(fā)現建表語句有問題。請指出問題并說明該問題是否會影響此查詢語句的執(zhí)行效率。(4分)

  (2)設已在"選課"表的"選課時間"列及"學生"表的"所在系號"列上建立了索引。請問這兩個索引是否能夠提高該查詢語句的執(zhí)行效率?如果不能,請說明原因。(4分)

  A2:

  (1) 【解題思路】

  本題中查詢語句的功能是得到12系全體學生在2010年1月1日后的選課情況的匯總表。在每個數據表的定義時都必須嚴格定義表中的完整性約束條件,包括主鍵的設置,否則之后會出現主鍵有相同值的情況,破壞了數據的完整性。

  【參考答案】

  建表時沒有設置主鍵,也沒有說明外鍵。但不會影響此查詢語句的執(zhí)行效率

  (2)【解題思路】

  建立索引是加快查詢速度的有效手段,用戶可以根據應用環(huán)境的需要建立一個或多個索引,以提供多種存取路徑,加快查找速度。索引就像書的目錄一樣為我們將記錄按規(guī)定的列進行了排序,這樣當我們要訪問滿足這些列的某些條件的記錄時,索引會為我們減少查詢數據庫中的地址范圍,大大節(jié)省了時間。所以根據WHERE條件后的字段對表建立索引對于提高查詢效率是有幫助的。

  【參考答案】

  "選課"表的"選課時間"列上建立了索引,從而能夠提高執(zhí)行效率。經常出現在Where子句中的字段,特別是大表的字段,應該建立索引。索引的作用就類似于書的目錄,即會按照章節(jié)的順序排列。因此如果在一本數百頁的書里面查找某個章節(jié)位置的時候,就可以只掃描書的目錄。掃描的范圍縮了n倍,查詢的效率自然就會提高。另外,在SQLServer內存夠用的情況下,索引會被放到內存中,在內存中查找自然又會提高效率,所以必須合理利用索引。

  Q3:

  某商場商品經營管理系統(tǒng)使用SQL Server 2008數據庫管理系統(tǒng),此系統(tǒng)上線運行1年后,業(yè)務人員使用某統(tǒng)計功能(此功能每月使用一次)時發(fā)現速度很慢。該統(tǒng)計功能主要執(zhí)行的SQL語句如下:

  SELECT 商品號,SUM(銷售數量*銷售價格) 銷售額

  FROM 銷售明細

  GROUP BY 商品號;

  該銷售明細表的建表語句如下:

  CREATE TABLE 銷售明細(

  序列號 intIDENTITY(1,1) NOT NULL,

  商品號 intNOT NULL,

  銷售日期 datetime NULL,

  銷售數量 intNOT NULL,

  銷售價格 intNOT NULL

  );

  并在銷售明細表上建有如下索引:

  CREATE index ix_銷售明細_商品號 on 銷售明細(商品號);

  某技術人員提出通過執(zhí)行下述語句以提高此查詢的運行效率:

  CREATE VIEW 商品銷售額視圖

  WITH SCHEMABINDING

  AS

  SELECT 商品號,SUM(銷售數量*銷售價格) 銷售額,

  COUNT_BIG(*) cnt

  FROM dbo.銷售明細

  GROUP BY 商品號;

  CREATE UNIQUE CLUSTERED INDEXix_商品銷售額

  ON 商品銷售額視圖(商品號);(10分)

  (1)請分析該技術人員給出的語句功能以及對原有查詢語句的性能影響,并給出原因。

  (2)此商場的銷售量很大,每天有大量數據插入到銷售明細表中。請從數據庫整體性能角度分析,此技術人員提出的優(yōu)化方法是否合適,并給出原因。

  A3:

  (1)【解題思路】

  該技術人員使用了帶有索引的視圖,將所關心的數據(商品號,銷售額,該商品號在表中出現的次數)從銷售明細表中提取出來建立視圖,并對該視圖建立按商品號排序的聚簇索引,這樣大大減少了在搜索不同商品的銷售額時調用的數據表的規(guī)模,從而提高了查詢效率。由于表的數據規(guī)模很大,建立該視圖后,同一種商品不會多次出現在表中,而是通過一個計數變量cnt表示,這樣在檢索時大大減少了檢索規(guī)模。創(chuàng)建索引時,UNIQUE關鍵字表明此索引的每一個索引值只對應唯一的數據記錄。CLUSTER表示要建立的索引是聚簇索引,所謂聚簇索引是指索引項的順序與表中記錄的物理順序一致的索引組織。

  【參考答案】

  語句功能:建立包含(商品號,銷售額,該商品表中出現次數)的帶索引的視圖,并建立按商品對應銷售額UNIQUE聚簇排序的索引,大大縮小了查詢語句的查詢范圍,提高了查詢效率。原因:視圖中將間接相關的屬性列(序列號,銷售日期,商品號,銷售數量,銷售價格)轉換成了目標屬性列,減少了搜索空間;同時建立UNIQUE CLUSTERED索引,使查詢商品號的數據記錄唯一,降低了搜索范圍,提高了搜索效率。

  (2)【解題思路】

  由于視圖是不實際存儲數據的虛表,因此對視圖的更新最終要轉換為對基本表的更新。而用戶通過視圖對數據進行增加、刪除、修改時,有意或無意地對不屬于視圖范圍內的基本表數據進行操作,會破壞數據的一致性。而且視圖中的數據本身就是冗余的,每次對表進行修改時,同時也要對相應的視圖進行修改,這大大增加了系統(tǒng)的負擔。

  【參考答案】

  不合適,每天大量的插入操作在修改表的同時也要對視圖進行修改,增加了系統(tǒng)的負擔,然而該統(tǒng)計功能一個月才用一次,這樣導致系統(tǒng)的利用率也較為低下。

  Q4:

  某教務管理系統(tǒng)使用SQL Server 2008數據庫管理系統(tǒng),數據庫軟硬件配置信息如下:

  Ⅰ.數據庫運行在兩路Intel Xeon E5-2609 2.4GHz CPU(每路CPU4核心),128GB內存、2塊300GB15000轉SAS硬盤(RAID 1)的服務器上;

 、.服務器操作系統(tǒng)為Windows 2003 32位企業(yè)版,安裝SP2補丁;

 、.數據庫為SQL Server 2008 Enterprise(32 位),數據庫中總數據量近130GB。

  近一個學期以來,用戶反映系統(tǒng)運行緩慢,經程序員定位,確定為數據庫服務器響應緩慢,需要進行調優(yōu)。

  A4:

  【解題思路】

  數據庫性能優(yōu)化的基本原則就是通過盡可能少的磁盤訪問獲得所需要的數據。SQL SERVER性能優(yōu)化一般從數據庫設計、應用程序編碼、硬件優(yōu)化、數據庫索引、SQL語句、事務處理幾個方面入手考慮問題。

  (1) 分析階段:在系統(tǒng)分析階段往往有太多需要關注的地方,系統(tǒng)各種功能性、可用性、可靠性、安全性需求吸引了我們大部分的注意力,但必須注意的是,性能往往是很重要的非功能性需求,必須根據系統(tǒng)的特點確定其實時性需求、響應時間的需求、硬件的配置等。最好能有各種需求量化的指標。

  (2) 設計階段:例如數據庫邏輯設計規(guī)范化;合理的冗余;主鍵的設計;外鍵的設計 ;字段的設計 ;數據庫物理存儲和環(huán)境的設計;數據庫的物理存儲、操作系統(tǒng)環(huán)境及網絡環(huán)境的設計,皆使得我們的系統(tǒng)在將來能適應較多用戶的并發(fā)操作和較大的數據處理量。 這里需要注意文件組的作用,適用文件組可以有效的把I/O操作分散到不同的物理硬盤,提高并發(fā)能力。

  (3) 系統(tǒng)設計:整個系統(tǒng)的設計,特別是系統(tǒng)結構的設計對性能具有很大的影響。對于一般的OLTP系統(tǒng),可以選擇C/S結構、三層的C/S結構等,不同的系統(tǒng)結構其性能的關鍵也有所不同。系統(tǒng)設計階段應歸納些業(yè)務邏輯在數據庫編程階段實現,數據庫編程包括數據庫存儲過程、觸發(fā)器和函數。用數據庫編程實現業(yè)務邏輯的好處是減少網絡流量并能更充分利用數據庫的預編譯和緩存功能;索引設計階段可以根據功能和性能的需求進行初步的索引設計,這里需要根據預計的數據量和查詢來設計索引,可能與將來實際使用時有所區(qū)別。

  (4) 編碼階段:編碼階段首先需要所有程序員具備優(yōu)化意識,也就是在實現功能的同時具備考慮優(yōu)化性能的思想。數據庫是能進行集合運算的工具,所謂集合運算實際是批量運算,即是盡量減少在客戶端進行大數據量的循環(huán)操作,而用SQL語句或者存儲過程代替。這個階段主要是注意在SQL語句等方面的優(yōu)化,如:盡量少做重復的工作,用SELECT后跟需要的字段代替SELECT*語句,注意事務和鎖 ,注意臨時表和表變量的用法,慎用游標和觸發(fā)器,盡量使用索引等。

  (5) 硬件優(yōu)化:RAID (獨立磁盤冗余陣列)是由多個磁盤驅動器(一個陣列)組成的磁盤系統(tǒng)。通過將磁盤陣列當作一個磁盤來對待,基于硬件的RAID允許用戶管理多個磁盤。使用基于硬件的RAID與基于操作系統(tǒng)的RAID相比較可知,基于硬件的RAID能夠提供更佳的性能,如果使用基于操作系統(tǒng)的RAID,那么它將占據其他系統(tǒng)需求的CPU周期,通過使用基于硬件的RAID,用戶在不關閉系統(tǒng)的情況下能夠替換發(fā)生故障的驅動器。利用數據庫分區(qū)技術,可均勻地把數據分布在系統(tǒng)的磁盤中,平衡I/O 訪問,避免I/O 瓶頸等。

  (6) 事務處理調優(yōu):數據庫的日常運行過程中,可能面臨多個用戶同時對數據庫的并發(fā)操作而帶來的數據不一 致的問題,如:丟失更新、臟讀和不可重復讀等。并發(fā)控制的主要方法是封鎖,鎖的含義即是在一段時間內禁止用戶做某些操作以避免產生數據不一致。對于事務性能的調優(yōu),要考慮到事務使用的鎖的個數(在所有其他條件相同的情況下,使用的鎖個數越少,性能越好)、鎖的類型 (讀鎖對性能更有利)以及事務持有鎖的時間長短(持有時間越短,性能越好)等情形。

  【參考答案】

  (1)表結構優(yōu)化:重新優(yōu)化數據庫設計結構,數據庫邏輯設計的規(guī)范化;設計主鍵和外鍵;設計合適大小的字段。

  (2)硬件優(yōu)化:購買一塊同樣大小的硬盤,將硬盤做成RAID5,用以提高數據庫相應速度;增加服務器CPU個數;擴大服務器的內存。

  (3)索引優(yōu)化:采用對經常作為條件查詢的列設計索引,查詢經常用到的列上建立非聚簇索引,在頻繁進行范圍查詢、排序、分組的列上建立聚簇索引,對于有頻繁進行刪除、插入操作的表不要建立過多的索引。

  (4)采用視圖:合理使用視圖和分區(qū)視圖,在需要更新和刪除操作不多、查詢操作頻繁的表上建立索引視圖。

  (5)SQL語句優(yōu)化:擇運算應盡可能先做,并在對同一個表進行多個選擇運算時,選擇影響較大的語 句放在前面;較弱的選擇條件寫在后面,這樣就可以先根據較嚴格的條件得出數據較小的信息,再在這些信息中根據后面較弱的條件得到滿足條件的信息;應避免使用相關子查詢。把子查詢轉換成聯結來實現;字段提取按照"需多少,提多少"的原則,避免"SELECT*"。"SELECT *"需 要數據庫返回相應表的所有列信息,這對于一個列較多的表無疑是一項費時的操作,采用存儲過程,使用存儲過程提高數據處理速度。

  Q5:

  某采購中心采購了一套商品批發(fā)查詢管理系統(tǒng),此系統(tǒng)采用SQLServer 2008數據庫管理系統(tǒng),該系統(tǒng)需要經常處理百萬級以上的數據查詢。同時該系統(tǒng)提供了第三方人員開發(fā)的SQL接口,第三方人員可以根據自己的需要開發(fā)自己的應用程序來訪問數據庫中的相關數據。

  (1)系統(tǒng)在使用的過程中,業(yè)務人員反應系統(tǒng)操作速度很慢。經過工程師檢查測試后,數據庫系統(tǒng)本身及網絡傳輸過程中存在著一些問題,請給出針對數據庫系統(tǒng)本身及網絡傳輸過程中可能的一些調優(yōu)方案。

  (2)工程師在完成數據庫系統(tǒng)本身和網絡問題的優(yōu)化后,發(fā)現第三方開發(fā)人員的SQL查詢語句存在很多沒有優(yōu)化的問題,請從第三方開發(fā)人員角度給出一些優(yōu)化方案。

  A5:

  【解題思路】

  從數據庫本身和網絡傳輸的角度出發(fā),數據庫性能低下的因素一般有:I/O吞吐量小,形成了瓶頸效應;沒有創(chuàng)建計算列導致查詢不優(yōu)化;SQLServer數據庫內存不足;網絡速度慢;查詢出的數據量過大(可以采用多次查詢或其他的方法降低數據量)以及鎖或者死鎖(這也是查詢慢最常見的問題,是程序設計的缺陷)。

  從SQL查詢語句角度來考慮優(yōu)化響應時間,應該從查詢條件、臨時表、游標、返回數據量、大事務操作等方面進行調優(yōu)。

  【參考答案】

  (1)

  ①把數據、日志、索引放到不同的I/O設備上,增加讀取速度,數據量(尺寸)越大,提高I/O越重要。

  ②縱向、橫向分割表,減少表的尺寸。

  ③升級硬件,擴大服務器的內存,Windows 2000和SQL server 2000能支持4-8G的內存。配置虛擬內存,虛擬內存大小應基于計算機上并發(fā)運行的服務進行配置。增加服務器 CPU個數。

  ④分布式分區(qū)視圖可用于實現數據庫服務器聯合體。聯合體是一組分開管理的服務器,但它們相互協(xié)作分擔系統(tǒng)的處理負荷。這種通過分區(qū)數據形成數據庫服務器聯合體的機制能夠擴大一組服務器,以支持大型的多層 Web 站點的處理需要。

 、葜亟ㄋ饕 DBCC REINDEX ,DBCCINDEXDEFRAG,收縮數據和日志 DBCC SHRINKDB,DBCCSHRINKFILE. 設置自動收縮日志.對于大的數據庫不要設置數據庫自動增長,它會降低服務器的性能。

 、迌(yōu)化鎖結構。

  (2)

 、賹Σ樵冞M行優(yōu)化,應盡量避免全表掃描,首先應考慮在where 及 order by 涉及的列上建立索引。

 、趹M量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。

 、廴魏蔚胤蕉疾灰褂 select * from 進行全表掃描,用具體的字段列表代替"*",不要返回冗余字段

 、鼙苊忸l繁創(chuàng)建和刪除臨時表,以減少系統(tǒng)表資源的消耗。

 、荼M量避免使用游標,因為游標的效率較差,如果游標操作的數據超過1萬行,那么就應該考慮改寫。

 、薇M量避免大事務操作,提高系統(tǒng)并發(fā)能力。

  Q6:

  某網上商城因為業(yè)務發(fā)展,原有的系統(tǒng)不能很好的滿足需要,因此采用了一套新的經營管理系統(tǒng),此系統(tǒng)使用SQLServer 2008數據庫管理系統(tǒng)。此系統(tǒng)上線運行前,需將商場原有的數據導入到新系統(tǒng)中。原有系統(tǒng)使用SQL Server 2000,數據結構與新系統(tǒng)不完全一致。因此需要把數據從SQLServer 2000導入到SQL Server 2008中,為了保證數據一致性,數據導入過程中要求暫停業(yè)務且必須在3小時內完成。

  (1)在原有數據導入新系統(tǒng)的過程中,實施人員發(fā)現原有數據量很大,導入數據需要四小時,業(yè)務無法接受。經分析某工程師認為,數據導入過程中的數據庫I/O很高,但導入數據的程序本身對系統(tǒng)資源占用率很低。該工程師建議將數據導入過程中的數據恢復模式從"完整"模式改為"簡單"模式以提高數據導入速度;而另一位工程師則認為此方法未必能提高數據導入速度,而且還可能導致數據丟失,不建議使用此方法。

  請分析此方法是否能夠提高數據導入速度并給出理由,同時分析此操作的數據丟失風險。(5分)

  (2)在成功導入歷史數據后,此系統(tǒng)順利上線運行。在上線運行的第一周,發(fā)現數據庫服務器的CPU使用率很高,達到近90%,高峰期間達到100%,且系統(tǒng)內存占用率達到90%,但系統(tǒng)I/O很輕。業(yè)務人員反應系統(tǒng)操作速度很慢。為了提高系統(tǒng)運行速度。在不修改應用程序的前提下,兩位工程師提出了不同的解決辦法:

 、.為服務器增加2顆CPU,緩解CPU使用率很高的問題;

 、.為服務器增加一倍內存,緩解內存使用率很高的問題。

  考慮成本,現階段只能按照一種方案實施。請指出在現有情況下,哪種方案更合理并給出理由。(5分)

  A6:

  【解題思路】

  (1)SQL Server 2008的數據恢復模式有三種:

 、俸唵位謴湍J,此方法可以最大幅度減少事務日志的管理開銷,因為恢復模式不備份事務日志。但是如果數據庫損壞,則簡單恢復模式將面臨極大的數據丟失風險。在這種恢復模式下,數據只能恢復到最新備份狀態(tài)。因此對于用戶數據庫,簡單恢復模式只適用于測試和開發(fā)數據庫,或用于主要包含只讀數據的數據庫。

 、谕暾謴湍J剑朔椒ǹ梢酝暾挠涗浰惺聞,并將事務日志記錄保留到對其備份完畢為止。此方法相對簡單恢復模式來說,更占用時間。

 、鄞笕萘咳罩净謴湍J,此方法只對大容量操作進行最小記錄,使事務日志不會被大容量加載操作所填充。

  在數據導入過程中,所有的業(yè)務都是暫停的,因此可以采用簡單恢復模式提高數據導入速度。且只在數據導入的過程中暫時的修改恢復模式,因此數據并不會丟失。

  (2)提高數據庫性能的方法一般是從外部環(huán)境、調整內存分配、調整磁盤I/O、調整競爭資源等幾方面著手來改變數據庫的參數。SQLServer 2008采用將數據緩沖在內存的方式,因此在數據庫系統(tǒng)運行的過程中會占用一定的內存,又因為I/O并不存在問題,說明內存尚滿足需求。CPU使用率很高,表明CPU的計算能力不足,應該增加CPU的數量。

  【參考答案】

  (1)此方法能夠提高數據導入速度。

  原因:此系統(tǒng)I/O很重,修改恢復模式后,系統(tǒng)最大限度減少日志開銷,可提高導入速度。由于僅在數據導入過程中修改恢復模式,并無數據丟失風險。

  (2)第一種方案比較合理。

  原因:由于SQL Server 2008采用將數據緩沖在內存的方式,因此內存的使用率比較高是正常情況,且現階段I/O并不存在問題,說明內存滿足需求。此階段CPU使用率很高,說明CPU計算資源不足,因此增加CPU數量對解決問題有效。

  Q7:

  3.設某超市經營管理系統(tǒng)(C/S結構)使用SQL Server 2008數據庫管理系統(tǒng)。系統(tǒng)上線運行1年后,用戶反映系統(tǒng)運行速度不穩(wěn)定,不定期會出現速度變慢的問題。

  數據庫管理員在數據庫服務器上采集了一段時間系統(tǒng)運行狀態(tài)數據,情況如下:

  CPU最高使用率:30%

  內存最高使用率:80%

  磁盤IO很低

  同時,數據庫管理員在客戶端使用ping命令對數據庫服務器進行測試,結果如下

  (5分)請根據以上數據,判斷最有可能的問題,并給出判斷的理由。

  在以上問題解決后,用戶反映每日的定時統(tǒng)計匯總SQL語句仍然速度比較慢。數據庫管理員在系統(tǒng)無任何人員使用時運行該語句,同時在數據庫服務器上采集系統(tǒng)運行狀態(tài)數據,情況如下:

  CPU最高使用率:12.5%(CPU配置:2路4核,共8核,關閉超線程)

  內存最高使用率:80%(內存配置:128GB)

  磁盤IO很低(磁盤配置:5塊300GB磁盤,RAID5)

  (5分)請分析在進行統(tǒng)計匯總時,數據庫服務器最有可能的瓶頸是CPU、內存還是磁盤,并給出判斷的理由。

  A:

  【解題思路】

  數據庫系統(tǒng)運行需要依賴服務器、操作系統(tǒng)、存儲、網絡等多種因素。當這些數據庫環(huán)境出現瓶頸時就會導致數據庫運行變慢,甚至是無法完成正常業(yè)務。

  一般情況下,數據庫訪問代價模型由四部分組成:CPU處理數據的時間(即CPU代價),磁盤讀取的時間(即I/O代價),查詢的內存開銷(即內存代價),對于網絡中的數據庫還要加上數據在網絡上傳輸的時間(即通信代價)。因此數據庫訪問的代價模型是:總代價=CPU代價+I/O代價+內存代價+通信的代價。

  (1)CPU。當數據庫操作對CPU性能的要求超過數據庫服務器的CPU性能時,數據庫性能就會受到CPU的限制。對于一臺數據庫服務器來說,如果其在業(yè)務空閑時使用率超過90%,說明服務器缺乏CPU資源;如果高峰時CPU使用率仍然很低,則說明服務器CPU資源充足。據此,可以判斷一個數據庫系統(tǒng)CPU的使用情況。解決的方法是為服務器適當增加CPU的數量或者終止需要許多資源的進程。

  (2)數據庫性能優(yōu)劣的一個重要度量是響應時間,而I/O時間是響應時間的最大組成部分。因此,可以通過令I/O時間最小化,減少磁盤上的文件競爭帶來的瓶頸等方法來改善數據庫系統(tǒng)的性能。

  (3)通過調整相關參數控制數據庫的內存分配,也可以在很大程度上改善數據庫系統(tǒng)的性能。

  (4)大量的SQL數據在網絡上傳輸會導致網速變慢。網卡、交換機、集線器等網絡設備的性能對網絡的影響很明顯,所以,通過調整網絡設備,也可以在一定程度上提高數據庫系統(tǒng)的性能。

  【參考答案】

  (1)產生掉線的最有可能的原因是網絡產生問題。因為通過ping命令測試,發(fā)現丟包率達到10%。而CPU,內存、磁盤I/O使用率沒有達到100%,說明還是有一定的富余,引起網絡掉線的可能性較小。

  (2)數據庫服務器最有可能的瓶頸是內存。因為內存的使用率在無任何操作的情況下達到80%,使用率較高。說明內存容量不足以完全支持服務器活動。

  對于一臺數據庫服務器來說,如果其在業(yè)務空閑時使用率超過90%,說明服務器缺乏CPU資源;如果高峰時CPU使用率仍然很低,則說明服務器CPU資源充足。據此,可以判斷一個數據庫系統(tǒng)CPU的使用情況。本題中CPU的最高使用率只有12.5%,說明CPU不可能是數據庫服務器的瓶頸。磁盤I/O很低,說明也不可能是服務器的瓶頸。

【計算機三級數據庫分析真題】相關文章:

計算機三級數據庫考試真題及答案10-11

全國計算機三級PC技術筆試真題09-24

2024年計算機三級PC真題及答案10-11

公共英語三級真題01-22

SAT語法真題案例分析10-11

考研英語真題的分析方法09-23

計算機等級考試真題10-24

PETS公共英語三級真題及答案10-04

三級營銷師考試真題及答案09-25