久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價!!!
當前位置:主頁 > SEO優化 > 數據庫性能優化一:數據庫自身優化提升性能S

數據庫性能優化一:數據庫自身優化提升性能S

時間:2023-05-23 22:05:23 閱讀: 文章分類: SEO優化 作者: 網站技術員

導讀:2SEO優化數據庫自身優化包括:增加次數據文件,設置文件自動增長、表分區,索引分區、分布式數據庫設計、整理數據庫碎營銷型網站建設建設網站。

營銷型網站建設建設網站數據庫優化包含以下三部分,數據庫自身的優化,數據庫表優化,程序操作優化.此文為第一部分 優化①:增加次數據文件,設置文件自動增長(粗略數據分區) 1.1:增加次數據文件 從SQLSERVER2005開始,數據庫不默認生成NDF數據文件,一般情況下有一個主數據文件(MDF)就夠了,但是有些大型的數據庫,由于信息很多,而且查詢頻繁,所以為了提高查詢速度,可以把一些表或者一些表中的部分記錄分開存儲在不同的數據文件里 由于CPU和內存的速度遠大于硬盤的讀寫速度,所以可以把不同的數據文件放在不同的物理硬盤里,這樣執行查詢的時候,就可以讓多個硬盤同時進行查詢,以充分利用CPU和內存的性能,提高查詢速度。在這里詳細介紹一下其寫入的原理,數據文件(MDF、NDF)和日志文件(LDF)的寫入方式是不一樣的: 數據文件:SQLServer按照同一個文件組里面的所有文件現有空閑空間的大小,按這個比例把新的數據分布到所有有空間的數據文件里,如果有三個數據文件A.MDF,B.NDF,C.NDF,空閑大小分別為200mb,100mb,和50mb,那么寫入一個70mb的東西,他就會向ABC三網站seo優化軟件個文件中一次寫入40、20、10的數據,如果某個日志文件已滿,就不會向其寫入 日志文件:日志文件是按照順序寫入的,一個寫滿,才會寫入另外一個 由上可見,如果能增加其數據文件NDF,有利于大數據量的查詢速度,但是增加日志文件卻沒什么用處。 1.2:設置文件自動增長(大數據量,小數據量無需設置) 在SQLServer2005中,默認MDF文件初始大小為5MB,自增為1MB,不限增長,LDF初始為1MB,增長為10%,限制文件增長到一定的數目,一般設計中,使用SQL自帶的設計即可,但是大型數據庫設計中,最好親自去設計其增長和初始大小,如果初始值太小,那么很快數據庫就會寫滿,如果寫滿,在進行插入會是什么情況呢?當數據文件寫滿,進行某些操作時,SQLServer會讓操作等待,直到文件自動增長結束了,原先的那個操作才能繼續進行。如果自增長用了很長時間,原先的操作會等不及就超時取消了(一般默認的閾值是15秒),不但這個操作會回滾,文件自動增長也會被取消。也就是說,這一次文件沒有得到任何增大,增長的時間根據自動增長的大小確定的,如果太小,可能一次操作需要連續幾次增長才能滿足,如果太大,就需要等待很長時間,所以設置自動增長要注意一下幾點: 1)要設置成按固定大小增長,而不能按比例。這樣就能避免一次增長太多或者太少所帶來的不必要的麻煩。建議對比較小的數據庫,設置一次增長50MB到100MB。對大的數據庫,設置一次增長100MB到200MB。 2)要定期監測各個數據文件的使用情況,盡量保證每個文件剩余的空間一樣大,或者是期望的比例。 3)設置文件最大值,以免SQLServer文件自增長用盡磁盤空間,影響操作系統。 4)發生自增長后,要及時檢查新的數據文件空間分配情況。避免SQLServer總是往個別文件寫數據。 因此,對于一個比較繁忙的數據庫,推薦的設置是開啟數據庫自動增長選項,以防數據庫空間用盡導致應用程序失敗,但是要嚴格避免自動增長的發生。同時,盡量不要使用自動收縮功能。 1.3數據和日志文件分開存放在不同磁盤上   數據文件和日志文件的操作會產生大量的I/O。在可能的條件下,日志文件應該存放在一個與數據和索引所在的數據文件不同的硬盤上以分散I/O,同時還有利于數據庫的災難恢復。 優化②:表分區,索引分區(優化①粗略的進行了表分區,優化②為精確數據分區) 為什么要表分區? 當一個表的數據量太大的時候,我們最想做的一件事是什么?將這個表一分為二或者更多分,但是表還是這個表,只是將其內容存儲分開,這樣讀取就快了N倍了 原理:表數據是無法放在文件中的,但是文件組可以放在文件中,表可以放在文件組中,這樣就間接實現了表數據存放在不同的文件中。能分區存儲的還有:表、索引和大型對象數據。 SQLSERVER2005中,引入了表分區的概念,當表中的數據量不斷增大,查詢數據的速度就會變慢,應用程序的性能就會下降,這時就應該考慮對表進行分區,當一個表里的數據很多時,可以將其分拆到多個的表里,因為要掃描的數據變得更少,查詢可以更快地運行,這樣操作大大提高了性能,表進行分區后,邏輯上表仍然是一張完整的表,只是將表中的數據在物理上存放到多個表空間(物理文件上),這樣查詢數據時,不至于每次都掃描整張表 2.1什么時候使用分區表: 1、表的大小超過2GB。 2、表中包含歷史數據,新的數據被增加到新的分區中。 2.2表分區的優缺點 表分區有以下優點: 1、改善查詢性能:對分區對象的查詢可以僅搜索自己關心的分區,提高檢索速度。 2、增強可用性:如果表的某個分區出現故障,表在其他分區的數據仍然可用; 3、維護方便:如果表的某個分區出現故障,需要修復數據,只修復該分區即可; 4、均衡I/O:可以把不同的分區映射到磁盤以平衡I/O,改善整個系統性能。 缺點: 分區表相關:已經存在的表沒有方法可以直接轉化為分區表。不過Oracle提供了在線重定義表的功能. 2.3表分區的操作三步走 2.31創建分區函數 CREATEPARTITIONFUNCTIONxx1(int) ASRANGELEFTFORVALUES(10000,20000); 注釋:創建分區函數:myRangePF2,以INT類型分區,分三個區間,10000以內在A區,1W-2W在B區,2W以上在C區. 2.3.2創建分區架構 CREATEPARTITIONSCHEMEmyRangePS2 ASPARTITIONxx1 TO(a,b,c); 注釋:在分區函數XX1上創建分區架構:myRangePS2,分別為A,B,C三個區間 A,B,C分別為三個文件組的名稱,而且必須三個NDF隸屬于這三個組,文件所屬文件組一旦創建就不能修改 2.3.3對表進行分區 常用數據規范--數據空間類型修改為:分區方案,然后選擇分區方案名稱和分區列列表,結果如圖所示: 也可以用sql語句生成 CREATETABLE[dbo].[AvCache]( [AVNote][varchar](300)NULL, [bb][int]IDENTITY(1,1) )ON[myRangePS2](bb);--注意這里使用[myRangePS2]架構,根據bb分區 2.3.4查詢表分區 SELECT*,$PARTITION.[myRangePF2](bb)FROMdbo.AVCache

關鍵詞標簽: 數據庫 性能

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-23 ,文章數據庫性能優化一:數據庫自身優化提升性能S主要講述性能,數據庫,數據庫性能優化一:數據庫自身優化網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/seo_6107.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 全椒县| 泽州县| 始兴县| 鹿邑县| 棋牌| 库车县| 绥江县| 吉木萨尔县| 清原| 涿州市| 韩城市| 襄城县| 中西区| 永安市| 砚山县| 泰州市| 托克逊县| 天长市| 晋宁县| 卢龙县| 台安县| 江西省| 绥阳县| 伊吾县| 丰宁| 元朗区| 南木林县| 云梦县| 安远县| 汝州市| 望奎县| 临安市| 当涂县| 泰州市| 天祝| 石首市| 呼玛县| 九龙城区| 竹山县| 淄博市| 洛扎县|