亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

sqlserver數(shù)據(jù)庫規(guī)模膨脹太大怎么優(yōu)化

 更新時間:2024年02月17日 16:16:05   投稿:yin  
數(shù)據(jù)庫規(guī)模膨脹是SQLServer數(shù)據(jù)庫運維中常見的問題之一,本文介紹了一些緩解膨脹問題的方法,包括增加內(nèi)存、數(shù)據(jù)壓縮、數(shù)據(jù)庫分區(qū)等,在實踐過程中,應(yīng)根據(jù)具體情況,采取適當?shù)姆椒?以達到最優(yōu)的緩解膨脹問題的效果

1. 簡介

隨著SQLServer數(shù)據(jù)庫中數(shù)據(jù)量的增長和應(yīng)用系統(tǒng)使用時間的延長,其數(shù)據(jù)庫規(guī)模也會不斷膨脹。這種情況下,應(yīng)該如何處理呢?下面就為大家介紹一些常見的處理方式。

2. 增加內(nèi)存

2.1 增加物理內(nèi)存

增加SQLServer數(shù)據(jù)庫服務(wù)器的物理內(nèi)存可以有效地提高數(shù)據(jù)庫服務(wù)器的性能。因為,將數(shù)據(jù)庫所需的數(shù)據(jù)和索引都緩存在內(nèi)存中,可以減少磁盤I/O操作的次數(shù),從而提高速度,緩解數(shù)據(jù)庫規(guī)模膨脹的問題。

具體實現(xiàn)方法如下:

ALTER SERVER CONFIGURATION SET MEMORY=8192MB;

說明:

“ALTER SERVER CONFIGURATION SET MEMORY=8192MB”表示增加物理內(nèi)存到8GB,具體根據(jù)服務(wù)器實際情況而定。

2.2 增加虛擬內(nèi)存

增加SQLServer數(shù)據(jù)庫服務(wù)器的虛擬內(nèi)存也可以提高性能。因為,當內(nèi)存不足時,SQLServer將使用硬盤上的虛擬內(nèi)存來臨時存儲數(shù)據(jù)和索引,這雖然會導(dǎo)致訪問速度變慢,但也可以減少磁盤I/O操作的次數(shù),從而提高速度,緩解數(shù)據(jù)庫規(guī)模膨脹的問題。

具體實現(xiàn)方法如下:

ALTER SERVER CONFIGURATION SET C:\\PAGEFILE.SYS;

說明:

“ALTER SERVER CONFIGURATION SET C:\\PAGEFILE.SYS”表示增加虛擬內(nèi)存到C盤根目錄下的PAGEFILE.SYS文件中,具體根據(jù)服務(wù)器實際情況而定。

3. 數(shù)據(jù)壓縮

3.1 壓縮表格

在SQLServer數(shù)據(jù)庫參數(shù)設(shè)置中,可以開啟數(shù)據(jù)壓縮功能以減少磁盤使用量。對于一些已經(jīng)存在多年的歷史數(shù)據(jù),可以考慮對其進行數(shù)據(jù)壓縮,以緩解數(shù)據(jù)庫規(guī)模膨脹的問題。

具體實現(xiàn)方法如下:

SELECT name, type_desc, total_pages, used_pages FROM sys.allocation_units WHERE type IN (1,3) ORDER BY total_pages DESC

說明:

“SELECT name, type_desc, total_pages, used_pages FROM sys.allocation_units WHERE type IN (1,3) ORDER BY total_pages DESC”表示按照總頁數(shù)從大到小排序輸出已經(jīng)壓縮的表格信息。

3.2 壓縮數(shù)據(jù)庫

對于整個數(shù)據(jù)庫的數(shù)據(jù)壓縮,可以使用SQLServer數(shù)據(jù)庫自帶的壓縮方式將數(shù)據(jù)庫文件中的部分數(shù)據(jù)壓縮起來。這樣可以節(jié)省磁盤空間,并可以緩解數(shù)據(jù)庫規(guī)模膨脹的問題。

具體實現(xiàn)方法如下:

USE [master]
GO
ALTER DATABASE [AdventureWorks] SET COMPATIBILITY_LEVEL = 110;
GO
ALTER DATABASE [AdventureWorks] SET PAGE_VERIFY CHECKSUM;
GO
USE [AdventureWorks]
GO
ALTER INDEX ALL ON [Person].[Address] REBUILD WITH (DATA_COMPRESSION = PAGE);
GO

說明:

“ALTER DATABASE [AdventureWorks] SET COMPATIBILITY_LEVEL = 110;”表示將AdventureWorks數(shù)據(jù)庫的兼容性級別設(shè)置為SQL Server 2012,具體根據(jù)數(shù)據(jù)庫實際情況而定;

“ALTER DATABASE [AdventureWorks] SET PAGE_VERIFY CHECKSUM;”表示啟用SQL Server提供的頁面校驗檢查;

“ALTER INDEX ALL ON [Person].[Address] REBUILD WITH (DATA_COMPRESSION = PAGE);”表示對表格Person.Address中的所有索引執(zhí)行重建操作,并采用頁壓縮方式,可以將關(guān)鍵數(shù)據(jù)壓縮,從而減少磁盤空間占用。

4. 數(shù)據(jù)庫分區(qū)

4.1 橫向分區(qū)

SQLServer支持分割已有表格的數(shù)據(jù)為多個物理表格的技術(shù),一般稱為數(shù)據(jù)橫向拆分。當數(shù)據(jù)庫規(guī)模膨脹到一定程度后,可以采用橫向分區(qū)的方式來進行數(shù)據(jù)管理,以保證數(shù)據(jù)庫的高效穩(wěn)定運行。

具體實現(xiàn)方法如下:

CREATE TABLE Archive_2012 (LIKE Sales.SalesOrderDetail);
GO
ALTER TABLE Archive_2012 ADD CONSTRAINT PK_Archive_2012 PRIMARY KEY (SalesOrderID, SalesOrderDetailID)
GO
CREATE CLUSTERED INDEX CIX_SalesOrderID ON Archive_2012 (SalesOrderID)
GO
CREATE NONCLUSTERED INDEX IX_SalesOrderDetailID ON Archive_2012 (SalesOrderDetailID)
GO
ALTER PARTITION SCHEME [psArchive] NEXT USED [Archive2013];
GO

說明:

“CREATE TABLE Archive_2012 (LIKE Sales.SalesOrderDetail);”表示在AdventureWorks中創(chuàng)建一個名為Archive_2012的表,該表的結(jié)構(gòu)與Sales.SalesOrderDetail相同;

“ALTER TABLE Archive_2012 ADD CONSTRAINT PK_Archive_2012 PRIMARY KEY(SalesOrderID, SalesOrderDetailID)”表示向一個已經(jīng)存在的表中添加一個主鍵索引;

“CREATE CLUSTERED INDEX CIX_SalesOrderID ON Archive_2012 (SalesOrderID)”表示為序列SalesOrderID添加聚簇索引;

“CREATE NONCLUSTERED INDEX IX_SalesOrderDetailID ON Archive_2012 (SalesOrderDetailID)”表示為列SalesOrderDetailID添加非聚簇索引;

“ALTER PARTITION SCHEME [psArchive] NEXT USED [Archive2013]”表示將分區(qū)Schema的下一個使用分區(qū)修改為名為Archive2013的新分區(qū)。

4.2 縱向分區(qū)

SQLServer還支持將其列屬性分裂為多個子集的功能,一般稱為垂直分區(qū)。當數(shù)據(jù)庫規(guī)模膨脹到一定程度后,可以采用垂直分區(qū)的方式來進行數(shù)據(jù)管理,以保證數(shù)據(jù)庫的高效穩(wěn)定運行。

具體實現(xiàn)方法如下:

-- 對表格Person.Person進行垂直拆分
ALTER TABLE Person.Person 
DROP COLUMN Suffix, Title;
GO
CREATE TABLE Person.Name 
( 
    BusinessEntityID INT PRIMARY KEY, 
    FirstName VARCHAR(50), 
    LastName VARCHAR(50), 
    MiddleName VARCHAR(50) 
) 
GO
CREATE TABLE Person.Title 
( 
    BusinessEntityID INT PRIMARY KEY, 
    Title VARCHAR(50), 
    Suffix VARCHAR(10) 
);

說明:

“ALTER TABLE Person.Person DROP COLUMN Suffix, Title;”表示將表格Person.Person中的列Suffix和Title刪除;

“CREATE TABLE Person.Name (BusinessEntityID INT PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), MiddleName VARCHAR(50));”表示創(chuàng)建了一個名為Person.Name的表,并為其每一行添加了BusinessEntityID、FirstName、LastName和MiddleName四個字段,其中主鍵為BusinessEntityID;

“CREATE TABLE Person.Title (BusinessEntityID INT PRIMARY KEY, Title VARCHAR(50), Suffix VARCHAR(10));”表示創(chuàng)建了一個名為Person.Title的表,并為其每一行添加了BusinessEntityID、Title和Suffix三個字段,其中主鍵為BusinessEntityID。

5. 總結(jié)

數(shù)據(jù)庫規(guī)模膨脹是SQLServer數(shù)據(jù)庫運維中常見的問題之一。本文介紹了一些緩解膨脹問題的方法,包括增加內(nèi)存、數(shù)據(jù)壓縮、數(shù)據(jù)庫分區(qū)等。在實踐過程中,應(yīng)根據(jù)具體情況,采取適當?shù)姆椒ǎ赃_到最優(yōu)的緩解膨脹問題的效果。

到此這篇關(guān)于sqlserver數(shù)據(jù)庫規(guī)模膨脹太大怎么優(yōu)化的文章就介紹到這了,更多相關(guān)sqlserver數(shù)據(jù)庫太大內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQLSERVER服務(wù)手工啟動 批處理文件

    SQLSERVER服務(wù)手工啟動 批處理文件

    裝完SQLSERVER2005 因為開機很慢 所以呢就把開機服務(wù)搞成手動的了,這樣開機快了很多可是問題也來了每次要用SqlServer的時候要一個一個服務(wù)去開起來
    2011-03-03
  • SQL?Server導(dǎo)入Excel數(shù)據(jù)的簡單圖文教程

    SQL?Server導(dǎo)入Excel數(shù)據(jù)的簡單圖文教程

    這篇文章主要介紹了SQL?Server導(dǎo)入Excel數(shù)據(jù)的相關(guān)資料,包括如何將數(shù)據(jù)從Excel導(dǎo)入到指定數(shù)據(jù)庫,包括選擇數(shù)據(jù)源、配置OLEDBProvider、編輯目標字段映射等關(guān)鍵步驟,以及最終執(zhí)行導(dǎo)入操作的流程,需要的朋友可以參考下
    2024-11-11
  • sql?server使用nest?typeorm實現(xiàn)索引的方式

    sql?server使用nest?typeorm實現(xiàn)索引的方式

    本文通過示例演示了如何使用TypeORM庫在SQL?Server中創(chuàng)建不同類型的索引,分為普通索引,唯一索引,復(fù)合索引和空間索引,本文結(jié)合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • SQLServer RANK() 排名函數(shù)的使用

    SQLServer RANK() 排名函數(shù)的使用

    本文主要介紹了SQLServer RANK() 排名函數(shù)的使用,文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 監(jiān)控 log文件大小的存儲過程

    監(jiān)控 log文件大小的存儲過程

    用來監(jiān)控 log文件大小的存儲過程,需要的朋友可以參考下。
    2010-07-07
  • SQL Server遠程定時備份數(shù)據(jù)庫腳本分享

    SQL Server遠程定時備份數(shù)據(jù)庫腳本分享

    這篇文章主要介紹了SQL Server遠程定時備份數(shù)據(jù)庫腳本分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-02-02
  • SqlServer?多種分頁方式?詳解(含簡單速度測試)

    SqlServer?多種分頁方式?詳解(含簡單速度測試)

    這篇文章主要介紹了SqlServer?多種分頁方式?(含簡單速度測試),附帶50萬數(shù)據(jù)分頁時間[本機訪問|已重啟SQL服務(wù)|無其他程序干擾][非索引排序],需要的朋友可以參考下
    2022-12-12
  • SQL Server誤區(qū)30日談 第16天 數(shù)據(jù)的損壞和修復(fù)

    SQL Server誤區(qū)30日談 第16天 數(shù)據(jù)的損壞和修復(fù)

    我已經(jīng)聽過很多關(guān)于數(shù)據(jù)修復(fù)可以做什么、不可以做什么、什么會導(dǎo)致數(shù)據(jù)損壞以及損壞是否可以自行消失。其實我已經(jīng)針對這類問題寫過多篇博文,因此本篇博文可以作為“流言終結(jié)者”來做一個總結(jié),希望你能有收獲
    2013-01-01
  • sql server 創(chuàng)建臨時表的使用說明

    sql server 創(chuàng)建臨時表的使用說明

    這篇文章主要介紹了sql server 創(chuàng)建臨時表的使用說明,需要的朋友可以參考下
    2015-11-11
  • SQL Server Alwayson創(chuàng)建代理作業(yè)的注意事項詳解

    SQL Server Alwayson創(chuàng)建代理作業(yè)的注意事項詳解

    在工作中有時為了避免數(shù)據(jù)庫增長太大所以需要定時來刪除某段時間前的數(shù)據(jù),所以使用代理作業(yè)的方式來實現(xiàn)定時刪除的功能,下面這篇文章主要給大家介紹了關(guān)于SQL Server Alwayson創(chuàng)建代理作業(yè)的注意事項,需要的朋友可以參考下。
    2017-09-09

最新評論