freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

精品sql server數(shù)據(jù)庫性能優(yōu)化研究畢業(yè)設計畢業(yè)論文(文件)

2024-12-27 16:36 上一頁面

下一頁面
 

【正文】 傳統(tǒng)的商務數(shù)據(jù)處理不斷擴大到許多新的領域,如計算機 圖像處理、多媒體應用、商業(yè)管理、 GIS 等,要使這些領域中應用的信息系統(tǒng)高效、正常、安全地運行,其中最為顯著的就是數(shù)據(jù)庫的性能問題。 SQL SERVER 現(xiàn)在可用于大型機、客戶 /服務器以及 PC 平臺,適合于各種操作系統(tǒng),包括 Microsotf Windows 和 Windows NT、 0S/390(MVS)、各種 UNIX 操作系統(tǒng)、 LINUX 等。 SQL SERVER 數(shù)據(jù)庫系統(tǒng)博大精深,其系統(tǒng)管理工作非常復雜。因此,本文根據(jù)自己平時的實際 工作所遇到的一些問題和自己對 SQL SERVER 數(shù)據(jù)庫的使用經(jīng)驗,主要 從 數(shù)據(jù)庫設計優(yōu)化 、 索引添加 、 查詢優(yōu)化 這三個方面進行實驗測試,通過對各種優(yōu)化技術的介紹、分析和研究,對使用不同優(yōu)化技術前后的性能評價指標進行比較,體現(xiàn)各種優(yōu)化技術對數(shù)據(jù)庫運行效率的影響程度,提出 SQL SERVER 數(shù)據(jù)庫應用系統(tǒng)性能優(yōu)化的合理方法。各章節(jié)安排如下 : 第一章綜述了數(shù)據(jù)庫性能調(diào)整的研究現(xiàn)狀和發(fā)展概況,闡述了論文研究的意 義與目的。 第五 章開發(fā)了一個商品訂單管理系統(tǒng)作為測試用例,對 如何優(yōu)化數(shù)據(jù)庫的性能進行具體的測試和分析。 系統(tǒng)性能的判定標準依賴于性能衡量的研究,通常認 為性能的指標可以通過 處理一個事務所需的 I/O 量、 CPU 時間量、以及響應時間來衡量。減少瓶頸可以最大地發(fā)揮一個系統(tǒng)的性能。 數(shù)據(jù)庫優(yōu)化的目標 有不同的方式確定性能調(diào)整工作的目標。 在任何一個系統(tǒng)中,吞吐量和反應時間作為調(diào)整目標通常是互相對立的。相反,假如減少在某一個時 間窗口中訪問系統(tǒng)的并發(fā)用戶數(shù)量,以在該時間內(nèi)完成的全部事務量減少為代價,每個用戶將會享受到更快的反應時間。 當然,以 8 小時的時間間隔來計算系統(tǒng)需要達到的吞吐量是不現(xiàn)實的,因為 并不是所有需求都是勻速到達系統(tǒng)。以毫秒或秒表示,該值越低越好。因此,獲得滿意的用戶響應時間有兩個途徑: ? 減少系統(tǒng)服務時間,即提高數(shù)據(jù)庫的吞吐量。這種情況往往意味著失掉商機, 所以縮短系統(tǒng)響應時間是非常重要的。性能調(diào)整和優(yōu)化工作是在進行系統(tǒng)計劃和設計階段就 已經(jīng)開始了,并且一直貫穿系統(tǒng)的運行周期。這就關系到對 整個系統(tǒng)的高層分析和設計。最后,要構(gòu)造好信息來更好地滿足性能目標。如在 SQL Server 數(shù)據(jù)庫中的數(shù)組的處理、 SQL 優(yōu)化器、行級鎖管理以及 SQL Server 查詢分析器等。在成品階段進行數(shù)據(jù)庫性能優(yōu) 化的成本最高,收益最小。 數(shù)據(jù)庫邏輯結(jié)構(gòu)的優(yōu)化 一般來說,邏輯數(shù)據(jù)庫設計的不合理容 易產(chǎn)生以下問題,數(shù)據(jù)冗余、更新異 常、插入異常、刪除異常。 遵守這些規(guī)則的設計會產(chǎn)生較少的列和更多的表,因而也就減少了數(shù)據(jù)冗余,也減少了用于存儲數(shù)據(jù)的頁。數(shù)據(jù)庫設計的兩 條關鍵性的指導原則如下:將序列訪問的文件分離到專用的磁盤上,并通過將數(shù) 據(jù)文件分散到各個磁盤上而允許并行 I/O。因為有多個磁頭在查 找,所以數(shù)據(jù)分離也能提高性能 ,SQL SERVER 的分區(qū)技術將在下面講到。而單表的數(shù)據(jù)量往往會達到上億的記錄,并且記錄數(shù)會隨著時間而增長。當表和索引變得非常大時,分區(qū)可以將數(shù)據(jù)分為更小、更容易管理的部分來提高系統(tǒng)的運行效率。 分區(qū)功能是 SQL SERVER 2021 新增的一個功能,表分區(qū)分為水平分區(qū)和垂 直分區(qū)。任何需要特定月份數(shù)據(jù)的查詢只需引用相應月份的表。 例如本文例子, 一個短信發(fā)送記錄表包含最近一年的數(shù)據(jù),但是只定期訪問本季度的數(shù)據(jù)。一般情況下,文件組數(shù)最好與分區(qū)數(shù)相同,并且這些文件組通常位于不同的 磁盤上。使用 ALTER DATABASE,添加邏輯文件組名: AER DATABASE[DeanDB]ADD FILEGROUP[FG1] DanDB 為數(shù)據(jù)庫名稱, FG1 文件組名。 FILENAME= 39。創(chuàng)建數(shù)據(jù)分區(qū)函數(shù)有 RANGE“ LEFT|/RIGHT”兩種選擇。2021040139。2021100139??梢酝ㄟ^不同的分區(qū) 方案,使用相同的分區(qū)函數(shù),使不同的數(shù)據(jù)表有相同的分區(qū)條件,但存放在不同 的媒介上。從而把分區(qū)函數(shù)、分區(qū)方案和分區(qū) 表三者有機的結(jié)合起來。 SPLIT 會多增加一個分區(qū),而 MEGRE 會合并或者減少分區(qū), SWITCH 則是邏輯地在組間轉(zhuǎn)換分區(qū)。許多優(yōu)化專家認為,對應用程序的優(yōu)化可以得到 80%的系統(tǒng)性能的提升。 SQL 語言是一種靈活的語言,相同的功能可以使用不同的語句來實現(xiàn),但是語句的執(zhí)行效率是很不相同的。為 了能找到數(shù)據(jù)。與條目相匹配的 ROWID 值指向SQL SERVER 提供相關行的物理位置,以減輕定位數(shù)據(jù)所需要的 I/O 負擔。 在應用過程中,用戶的查詢條件可能是多種多樣的,如果能根據(jù)用戶查詢建 立和選擇索引,對于保證應 用程序的性能很有幫助。 (3)在條件表達式中經(jīng)常用到的不同值較多的字段上建立索引,在不同值較少 的字段上不要建立索引,如性別字段就不需要建立索引。 (5)查看索引并刪除不使用的索引,維護索引需要一定的硬盤空間和時間,需 要頻繁進行數(shù)據(jù)查入操作的數(shù)據(jù)庫應該有較少的索引,需要頻繁進行讀取操作的 數(shù)據(jù)庫應該有更多的索引。 (8)具有高選擇性的列是索引的好候選列,具有高密度的列是索引最糟糕的候 選列。雖然并不完 美,但是這個工具可以評估查詢運行性能,并基于查詢,提出數(shù)據(jù)表上是否該添 加聚集 /非聚集索引的建議。在很多情況下,你應該選擇使用事件跟蹤,因為它反應了真實的數(shù)據(jù)庫行為。索引優(yōu)化向?qū)龅木褪菑? 工作負載中提取行為樣本,然后利用查詢優(yōu)化器進行分析。一個表的索引就該放置在與數(shù)據(jù)表 不同的物理磁盤上,這樣可以減少文件之間的磁盤爭用。 。我們應當在編程時將整型轉(zhuǎn)化成為貨幣型,而不要等到 運行時轉(zhuǎn)化。例如 : SELECT id FROM employee WHERE id!=39。這 是因為引擎在處理查詢和連接回逐個比較字符串中每一個字符,而對于數(shù)字型而 言只需要比較 一次就夠了。 驗表里是否存在某條記錄,不要用 count(*)那樣效率很低,而 且浪費服務器資源。)0 可 以 寫 成 : IF EXISTS(SELECT*FROM table_name WHERE column_name=39。這也使得引擎無 法利用索引。例: SELECT SUM() FROM ACCOUNT A , CARD B WHERE = SELECT SUM()FROM ACCOUNT A , CARD B WHERE = AND = 第二句將比第一句執(zhí)行快得多。但這種匹配特別耗費時間。它有助于避免多重 排序操作,而且在其他方面還能簡化優(yōu)化器的工作。prod39。food? (2).SELECT employeeID, firstname, lastname FROM names WHERE dept= 39。food39。 SELECT INTO 語句。 (2)當修改 VARCHAR 型字段時,盡量使用相同長度內(nèi)容的值代替。 (6)避免 UPDATE 在 WHERE 子句條件中的列。我們的優(yōu)化要抓住關鍵問題,對于數(shù) 據(jù)庫應用程序來說,重點在于 SQL 的執(zhí)行效率。 客戶基本信息表:存放所有訂購過或訂購了相關商品的客戶信息。 商品基本信息表:存放各類商品的購進時間、庫存量、相應的訂購員等基本 信息。 訂單基本信息表:存放每一筆訂單的客戶號、訂購時間、操作員等信息。 圖 41 商品訂單管理數(shù)據(jù)庫的關系數(shù)據(jù)模型 各表的詳細信息如下所示: customer(cid,crank, discount, ticknumber) customerinfo(cid, ame, csex, cage, c, cphone, caddress) products(pid, pintime, puniprice, pquantity, pstorage, buyerid) productsinfo(pid, pkind, plife, psupplyer, pstock, pmanufactory) orders(orderid, cid, operatorid, ordertime) orderinfo(orderid, pid, ordernumber, leftnumber) customer、 customerinfo 表 包含 5000 條記錄,共占用空間約 550K; produets、 productsinfo 表包含 600 條記錄,共占用空間約 120K; orders 表包含 3000 萬條 。這些問題都可以通過對大表進行合理分區(qū)得到很大的改善。 表分區(qū)功能是 SQL SERVER 2021 新增的一個功能,表分區(qū)分為水平分區(qū)和垂直分區(qū)。水平分區(qū)是 最常用分區(qū)方式,本文以水平分區(qū)來介紹具體實現(xiàn)方法。又如該數(shù)據(jù)庫只存儲了三個廠家四種類型的商品信息 ,在這種情況下,可考慮將數(shù)據(jù)分成三個區(qū)或四個區(qū),每個區(qū)只包含一個廠家的商品信息或一種類型的商品信息。將全部表存儲在同一個磁盤上,所有表均沒有設置主鍵,并且不使用任何優(yōu)化技術。具體 查詢語句如下: Select distinct cid,ame,csex,cage From customerinfo Where cid in (select cid from customer Where crank=39。and ordertime=39。and pkind=39。在該查詢中,由于各子查詢返回的記錄比較大,因此對這些結(jié)果集以及 臨時數(shù)據(jù)段進行排序會增加大量的系統(tǒng)開銷。 創(chuàng)建適當?shù)乃?引 通過對商品訂單查詢所訪問到的數(shù)據(jù)進行分析后,然后根據(jù)索引創(chuàng)建細則,在 CUSTOMER 表的 CRANK 字段上、 PRODUCTSNIFO 表的 PMANUFACTORY和 PKIND 字段上不應該創(chuàng)建索引。 對以上情況進行綜合考慮后,最終決定建立數(shù)據(jù)庫索引商品訂單系統(tǒng)數(shù)據(jù)庫,該數(shù)據(jù)庫在商品訂單系統(tǒng)數(shù)據(jù)庫的基礎上創(chuàng)建以下索引:在 ORDERINFO表的 (PID, ORDERNUMBER)字段上建復合索引 OO_PID_ORDERNUMBER,在各表的連接字段上創(chuàng)建唯一索引 C_PRIMARY、 CC_PRIMARY、 P_PRIMARY、PP_PRIMARY、 O_PRIMARY、 OO_PRIMARY,并分別在 ORDERS 表的 CID 字段、 ORDERINFO 表的 PID 字 段 上 建 外 鍵 約 束 O_CID_FOREIGN 和OO_PID_FOREIGN。 SQL 語句的優(yōu)化 本小節(jié)需 要用的測試環(huán)境是上面所創(chuàng)建的索引商品訂單系統(tǒng)數(shù)據(jù)庫,該數(shù)據(jù)庫在商品訂單管理數(shù)據(jù)庫的基礎上創(chuàng)建以下索引:在 ORDERINFO 表的 (PID, ORDERNUMBER)字段上建復合索引 OO_PID_ORDERNUMBER,在各表的連接字 段 上 創(chuàng) 建 唯 一 索 引 C_PRIMARY 、 CC_PRIMARY 、 P_PRIMARY 、PP_PRIMARY、 O_PRIMARY、 OO_PRIMARY,并分別在 ORDERS 表的 CID 字段、 ORDERINFO 表的 PID 字 段 上 建 外 鍵 約 束 O_CID_FOREIGN 和OO_PID_FOREIGN。下面的第一個 SQL 語句和第二個 SQL 語句都是用于查詢 2021 年 1 月訂購了江中制藥生產(chǎn)的 A 類產(chǎn)品的、訂購數(shù)量在 20 到 200 件之間的客戶的相關信息,兩條查詢語句的結(jié)果集相同,但是第一個 SQL 語句使用子查詢完成,第二個 SQL 語句使用聯(lián)接查詢完成。and cid in (select cid from orders Where ordertime=39。 and orderid in (select orderid from orderinfo Where ordernumber between 20 and 200 and pid in (select pid from products Where pid in (select pid from productsinfo Where pmanufactory=39。))))) order by cid 該語句的執(zhí)行成本為 ,執(zhí)行計劃如圖 55。江中制藥 39。20211139。 圖 56 使用連接的 SQL 語句的執(zhí)行計劃 通過這兩條 SQL 語句的執(zhí)行計劃進行比較分析可以得出如下結(jié)論:我們在寫查詢語句時盡量用連接代替所有的子查詢。 6 總 結(jié) 隨著現(xiàn)代計算機應用技術的發(fā)展和企業(yè)信息系統(tǒng)的廣泛應用,數(shù)據(jù)庫己逐步 成為計算機信息系統(tǒng)和計算機應用系統(tǒng)的基礎和核心,而數(shù)據(jù)庫性能的重要性也 越來越引起人們的關注??偨Y(jié)如下 : 。因此,對 SQL SERVER 數(shù)據(jù)庫系統(tǒng)的性能問題進行深入研究,提出針對 SQL SERVER數(shù)據(jù)庫性能調(diào)整與優(yōu)化的具體方法和措施,對于保證數(shù)據(jù)庫穩(wěn)定高效運行具有關鍵作用, 很好的理論與應用價值。但那樣也不總是有效。2021123139。A39。會員 39。 and pkind=39。and ordertime=39。 ( 1) Select distinct cid,ame,c
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1