當前位置:首頁 » 操作系統 » 資料庫部署方案

資料庫部署方案

發布時間: 2022-05-08 09:47:17

A. 如何生成和部署到本地資料庫

此本地伺服器實例可以用作生成、測試和調試您的項目的沙盒。它獨立於您已安裝的任何 sql Server 實例,並且不可從 SQL Server Data Tools (SSDT) 之外訪問。如果開發人員對生產資料庫只有有限訪問許可權或沒有訪問許可權,但想要在授權人士將其項目部署到生產前在本地測試其項目,則上述安排適合於此類開發人員。此外,在您為 SQL Azure 開發資料庫解決方案時,可以利用此本地伺服器所提供的便利,在將資料庫項目部署到雲中之前在本地開發和測試您的資料庫項目。 警告: 在SQL Server 對象資源管理器中的本地資料庫節點下的資料庫表示其相應的資料庫項目,與連接的伺服器實例中的同名資料庫無關。 警告: 以下過程將使用在連接的資料庫開發和面向項目的離線資料庫開發這兩節中的之前的過程中創建的實體。 使用本地資料庫請注意,在SQL Server 對象資源管理器中的SQL Server 節點下,將出現一個名為「本地」的新節點。這是本地資料庫實例。展開「本地」和「資料庫」節點。請注意具有與 TradeDev 項目同名的資料庫的外觀。展開此資料庫下的節點。「數據工具操作」窗口可在「本地」節點資料庫上顯示正在進行的擴展/導入操作的狀態。請注意,這些節點不包含我們在以前的過程中創建的任何錶和實體。按F5 調試 TradeDev 資料庫項目。默認情況下,SSDT 將使用本地資料庫伺服器實例來調試資料庫項目。在這種情況下,SSDT 將首先嘗試生成該項目,如果沒有錯誤,該項目(及其實體)將部署到本地資料庫中。如果您在以後調試相同的項目,SSDT 將檢測到您在上次調試會話後進行的任何更改,並且僅將這些更改部署到本地資料庫。再次展開「本地」資料庫伺服器中 TradeDev 下的節點。這一次,注意到表、視圖和函數已部署到該本地資料庫伺服器。右鍵單擊 TradeDev 節點並選擇「新建查詢」。在腳本窗格中,粘貼以下代碼並單擊「執行查詢」按鈕以便運行該查詢。 select * from dbo.GetProctsBySupplier(1) 「消息」窗格將顯示「(0 行受影響)」並且「結果」窗格將不返回任何行。這是因為我們對本地資料庫進行查詢,而非對包含實際數據的連接的資料庫進行查詢。您可以通過右鍵單擊這個本地 TradeDev 資料庫下方的 Procts 表,然後選擇「查看數據」,對此進行確認。請注意,該表是空的。將實際數據復制到本地資料庫在SQL Server 對象資源管理器中,展開您的連接的 SQL Server 實例並找到 TradeDev 資料庫。右鍵單擊 Suppliers 表並選擇「查看數據」。單擊數據編輯器頂部的「腳本」按鈕(從右邊數第二個按鈕)。從該腳本中復制 INSERT 語句。展開「本地」伺服器實例並右鍵單擊 TradeDev 節點,然後選擇「新建查詢」。將INSERT 語句粘貼到此查詢窗口中並執行查詢。重復上述步驟,將數據從連接的 TradeDev 資料庫的 Procts 和Fruits 表復制到本地 TradeDev 資料庫。右鍵單擊該「本地」伺服器實例,然後選擇「刷新」。使用「查看數據」對這些表進行檢查,以便確認已填充該本地資料庫。右鍵單擊本地伺服器實例的 TradeDev 節點,然後選擇「新建查詢」。在腳本窗格中,粘貼以下代碼並單擊「執行查詢」按鈕以便運行該查詢。

B. 虛擬機上greenplum資料庫怎麼部署

目前合作方跟我說他們greenplum資料庫沒有工具,只能是命令 然後在下載 我去 這不是增加我的工作量,工作難度么???我這目前有兩種方案 一:就是多線程取的數據集,然後將數據集信息寫入至文本 二:就是使用greenplum命令先到處至服務端,然後再下載下來 可這兩種都有優缺點啊?? 或者有沒有其他方案 在這兩者之中效率最大化

C. 資料庫規劃一般要包含那些內容

總體數據規劃主要從三個方面去規劃:1、管理方面、2、技術方面 3、用戶方面。
總體規劃的內容包括:戰略的業務規劃、戰略的信息技術規劃、戰略的數據規劃。

D. 固態硬碟適合部署資料庫嗎有沒有兼顧性能和壽命的方案

購買intel(英特爾)傲騰 900P 固態硬碟
壽命是傳統MLC顆粒固態硬碟的7倍-22倍壽命,擁有超高4K隨機讀寫。
如果買得起傲騰P4800X更長,比傳統MLC高35倍-105倍壽命。
或三星SZ985 SLI顆粒固態硬碟,擦寫壽命42.7PBW
並不是無法解決,而是貧窮限制想像。

E. 怎樣部署ORACLE資料庫

1.啟動Websphere6.0服務
2.打開IE瀏覽器,在地址欄中輸入:http://localhost:9060/ibm/console/,登陸Websphere6.0管理控制台
3.在導航欄左側選擇:環境-〉Websphere變數
找到ORACLE_JDBC_DRIVER_PATH ,輸入ORACLE_JDBC_DRIVER_PATH 的值,指定ORACLE資料庫驅動jar包的位置,確定,保存。
4.在導航欄左側選擇:資源-〉JDBC提供者
5.在右側JDBC提供者新建頁面點擊「新建」按鈕
6.按照下圖選擇ORACLE資料庫相關類型設置,點擊下一步,完成第一步設置:
7.配置頁面的設置全部默認,不用修改,點擊確定,保存。
8.點擊剛才新建的ORACLE JDBC DRIVER,進入配置頁面,點擊右側的「數據源」
9.點擊「新建」,新建數據源:
10.輸入名稱:inforflowDS;JNDI名稱:jdbc/inforflowDS;數據存儲 helper 類名Oracle 數據源屬性中輸URL jdbc:oracle:thin:@資料庫伺服器IP:1521:oracle點擊「確定」保存。
11.點擊「inforflowDS」數據源,點擊右側的相關項:J2EE 連接器體系結構(J2C)認證數據條目
12.點擊「新建」,輸入用戶別名flow_oracle,用戶標識:system 密碼:admin,點擊確定,保存
13. 打開inforflowDS數據源配置頁面,在組件管理的認證別名下拉框中選擇上面剛剛新建好的J2EE 連接器體系結構(J2C)認證數據條目—flow_oracle點擊確定,保存設置
14.在數據源頁面點擊「測試連接」
15.測試連接成功

F. 在資料庫設計過程中要注意哪些問題

DB2資料庫的性能與穩定性直接跟資料庫對象的多少、大小有關。如果對象很少,不復雜,那麼就算不怎麼規劃,也能夠達到比較高的性能。如果對象數據比較多、比較大的話,那麼就需要在資料庫設計之前好好的規劃,否則會在很大程度上影響資料庫的性能與穩定性。

一、選擇合適的語言與資料庫字元集。

在企業中部署資料庫的時候,首先需要在操作系統上安裝資料庫。而在安裝資料庫的時候,需要選擇安裝的語言環境。即是以中文狀態下安裝資料庫還是以英文狀態安裝資料庫。如在啟動安裝程序的時,可以利用/i language選項來指定安裝過程中所採用的語言。到目前為止,DB2資料庫已經支持很多種語言。那麼資料庫在安裝過程中,該採用什麼語言呢?筆者建議,只要資料庫管理員有一點英語基礎,最好能夠採用英文語言環境來進行安裝。雖然說現在DB2資料庫的中文語言環境已經設計的比較完善,但是筆者仍然擔心其有一些不知名的漏洞。為此筆者在安裝DB2資料庫的時候,基本上都採用的是英文語言環境來進行安裝。即將語言設置為「EN」,表示英文。提高DB2數據備份與恢復的效率。

另外如果DB2 資料庫中要保存英文以外的數據,或者說用戶會使用不同的字元集訪問資料庫時,還需要在資料庫安裝過程中選擇特定的資料庫字元集。DB2資料庫中的所有字元數據,包括數據字典中的數據,都是存儲在資料庫字元集中的。如果用戶使用不同的字元集訪問資料庫時,資料庫管理員就需要選擇包含所有這些用戶的字元集的超集。只有如此,才能夠確保系統能夠很方便的使用替代字元完成字元的轉換,從而提高資料庫的性能。如果用戶選擇的字元集不對,有可能會出現一些莫名其妙的問題。如一次用戶在安裝資料庫過程中,沒有選擇合適的字元集。雖然在使用的過程中,其存儲中文字元沒有問題。但是當對資料庫採取還原操作時,卻發現還原後的資料庫中有些原來是中文字元的地方,盡然出現了亂碼。這主要就是沒有選擇合適的字元集惹的禍。有時候如果字元集選擇不當的話,從外部數據源(如Excel表格)導入數據的時候,中文數據也會無法順利導入。所以,資料庫管理員在安裝資料庫的時候,需要根據實際企業,來選擇合適的字元集。

二、評估資料庫對象的大小、數量。

DB2資料庫的性能與穩定性直接跟資料庫對象的多少、大小有關。如果對象很少,不復雜,那麼就算不怎麼規劃,也能夠達到比較高的性能。如果對象數據比較多、比較大的話,那麼就需要在資料庫設計之前好好的規劃,否則會在很大程度上影響資料庫的性能與穩定性。其實DB2 資料庫就好像一個倉庫,資料庫中的對象(如索引、數據表、表空間)等等就好像倉庫中的貨物。如果貨物比較少,那麼隨便放放,倉庫都顯得很空曠。貨物尋找起來也會很方便。但是如果貨物數量比較多、比較大,就必須要對其存儲空間進行合理規劃。只有如此才能夠讓倉庫的空間利用率達到最佳狀態。並且貨物的存放有序,在查找起來也特別的方便。筆者這里就以倉庫管理為例,說話該如何做好資料庫對象大小、數量等方便的評估,以及他們對於資料庫性能與穩定性的影響。

1、根據對象大小來規劃存儲空間。在倉庫貨物的擺放上,要根據貨物的大小來規劃存儲空間。或者說要首先防止大的貨物。只有如此空間的利用率才會最高。其實在規劃DB2對象的時候,也是如此。如某些表可能會包含的記錄比較多,屬於大表。此時資料庫管理員就需要考慮,是否將其放置在一個獨立的表空間或者硬碟空間上,以提高數據操作的性能。大表所對應的索引往往也是比較大的。為此在硬體條件允許的情況下,將索引表與數據表分別存放在不同的硬碟上,可以提高資料庫的性能。而對於一些比較小的對象(如數據表),可以將它們存放在一個表空間中。其實這個表空間就好像倉庫中的一個個紙盒子。將小的對象放入到這個「紙盒子」中,不但不佔空間,而且也容易管理。

2、根據對象的使用頻率來規劃存放空間。在倉庫中擺放物品的時候,往往會把近期就要用到的貨物或者頻繁需要用到的東西放在倉庫門口或者容易拿到的地方。如此在拿這些貨物時就會比較便捷,也不會對其他貨物產生影響。對於DB2資料庫中的對象來說,也是這么一回事。可以將那些訪問量比較大的對象,如索引、數據表,存放在性能比較好的硬碟上或者單獨的硬碟中。此時訪問這些數據,就不會與其它對象產生I/O沖突,操作起來速度就會比較快。而將不怎麼用到的對象,存放在一起。由於他們不怎麼被用到,所以即使存放在性能比較低的硬碟上,其對資料庫性能產生的負面影響也是非常有限的。 在DB2資料庫裡面如何更新執行計劃

3、根據類別來存放資料庫對象。在倉庫中存放貨物的時候,還會對其進行分類。然後根據類別來進行存放。這有利於貨物的管理與檢索。其實在資料庫對象存儲空間設計時,也需要考慮這個因素。如現在應用軟體在設計的時候,很多都是根據模塊來設計。那麼在資料庫對象設計時,也需要根據這個模塊來設計存儲的空間。如將同一個模塊的資料庫對象存放在同一個表空間內。不過這可能會跟上面的兩個建立相違背。此時最好是在對象的命名上做文章。如可以根據模塊的不同,分別給資料庫對象取一個相同的前綴或者後綴。如即使同一塊模塊要用到多個表空間,此時就可以給表空間一個相同的前綴。如此在管理資料庫對象的時候,根據表空間的前綴就可以判斷其所屬的模塊了。如果再加上一個後綴來表示其資料庫對象的分類,那麼就更合理了。為此在管理資料庫對象的時候,要執行分類管理。不僅要從技術上對其進行分類,如分為索引、數據表、關鍵字等等。還需要從功能上進行分類,如按應用程序的模塊來進行分類等等。

三、設計好資料庫備份與還原的方案。

在資料庫交付生產使用之後,往往需要進行大量的測試。但是在測試過程中往往又會產生很多的垃圾數據。可是交給企業應用的,肯定是一個干凈的資料庫系統。為此在資料庫設計的時候,就需要想好如果減少測試過程中的垃圾數據。或者採取什麼樣的方式來實現在交互時自動清除垃圾數據的機制。

一般來說,想要一個資料庫備份與還原的方案,減少資料庫測試所產生的垃圾數據。如現在在給企業部署資料庫的時候,往往是先安裝一個干凈的資料庫系統。當然字元集這些需要預先設置好。然後再利用資料庫還原功能將預先定義好的資料庫模型還原出來。

另外有些時候需要兩個方案互為補充。如在資料庫初始化的過程中,採用資料庫還原的方式來創建資料庫對象。但是在應用軟體升級的時候,由於此時已經有了用戶的數據,為此不能夠在使用資料庫還原的方法。而是通過應用程序來執行某些SQL代碼,來調整或者增加部分資料庫對象。無論採用哪一種方式,需要遵循的一個原則就是在給企業創建資料庫對象時要最大限度的減少測試。而要做到這一點,就是需要先在測試伺服器上創建對象並測試對象可用。然後直接將相關的SQL代碼在投入使用的資料庫伺服器上執行。

G. 如何部署sql2008智能停車場資料庫

sql2008智能停車場資料庫的部署一般是通過鏡像資料庫實現的。

資料庫鏡像是一種針對資料庫高可用性的基於軟體的解決方案。其維護著一個資料庫的兩個相同的副本,這兩個副本分別放置在不同的SQL Server資料庫實例中。建議使用不同位置的兩台伺服器來承載。在同一時刻,其中一台上的資料庫用於客戶端訪問,充當「主體伺服器」角色;而另一台則根據鏡像會話的配置和狀態,充當熱備份伺服器,即「鏡像伺服器角色」,這兩種角色不是絕對的。

部署實現:

1、條件

SQL08R2的「資料庫鏡像」必須基於每個使用完整恢復模式的資料庫來實現。對於SQL08R2不支持簡單恢復模式和大容量日誌恢復模式的資料庫鏡像。另外,不能鏡像「master」、「msdb」、「model」和「tempdb」等系統資料庫。

2、環境

測試環境為一個LAN內,IP地址是192.168.0.0/24段

DC:192.168.0.110/24——域控制器和DNS伺服器;

SQL-1:192.168.0.111/24——SQL08R2主體伺服器;

SQL-1:192.168.0.112/24——SQL08R2鏡像伺服器;

SQL-1:192.168.0.113/24——SQL08R2見證伺服器。

拓撲結構圖:

5、部署完成

H. Sql server 安全,性能優化的15條方案

1.1 基本概念 與資料庫技術密切相關的基本概念包括:數據、資料庫、資料庫管理系統和資料庫系統四大概念。1. 數據(Data) 數據是對客觀事物的一種描述,是由能被計算機識別與處理的數值、字元等符號構成的集合,即數據是指描述事物的符號記錄。 廣義地說,數據是一種物理符號的序列,用於記錄事物的情況,是對客觀事物及其屬性進行的一種抽象化及符號化的描述。數據的概念應包括數據的內容和形式兩個方面。數據的內容是指所描述的客觀事物的具體特性,也就是通常所說的數據的「值」;數據的形式則是指數據內容所存儲的具體形式,即數據的「類型」。故此,數據可以用數據類型和值來表示。2. 資料庫(Data Base,DB) 資料庫是指長期存儲在計算機內部、有組織的、可共享的數據集合,即在計算機系統中按一定的數據模型組織、存儲和使用的相關聯的數據集合成為資料庫。 資料庫中的數據按照一定的數據模型組織、描述和存儲,具有較小的冗餘度、較高的數據獨立性、易擴展性、集中性和共享性,以文件的形式存儲在存儲介質上的。資料庫中的數據由資料庫管理系統進行統一管理和控制,用戶對資料庫進行的各種數據操作都是通過資料庫管理系統實現。3. 資料庫管理系統(Data Base Management System,DBMS) 資料庫管理系統是資料庫系統的核心,是為資料庫的建立、使用和維護而配置的軟體,是位於操作系統與用戶之間的一層數據管理軟體。主要功能是對資料庫進行定義、操作、控制和管理。1) 數據定義 數據的定義包括:定義構成資料庫結構的外模式、模式和內模式,定義各個外模式和模式之間的映射,定義模式與內模式之間的映射,定義有關的約束條件。2) 數據處理對數據的處理操作主要包括對資料庫數據的檢索、插入、修改和刪除等基本操作。3) 安全管理 對資料庫的安全管理主要體現在:對資料庫進行並發控制、安全性檢查、完整性約束條件的檢查和執行、資料庫的內部維護(如索引、數據字典的自動維護)等。並且能夠管理和監督用戶的許可權,防止擁護有任何破壞或者惡意的企圖。4) 數據的組織、存儲和管理 負責分類地組織、存儲和管理資料庫數據,確定以何種文件結構和存取方式物理地組織數據,如何實現數據之間的聯系,以便提高存儲空間利用以及提高隨機查找、順序查找、增加、刪除和查改等操作的時間效率。5) 建立和維護資料庫 建立資料庫包括資料庫數據的初始化與數據轉換等。維護資料庫包括資料庫的轉儲與恢復、資料庫的重組織與重構造、性能的監視與分析等。6) 數據通信介面提供與其他軟體系統進行通信的功能。4. 資料庫系統(Data Base System,DBS) 資料庫系統指在計算機系統中引入資料庫後的系統構成,一般有資料庫、資料庫管理系統、應用系統、資料庫管理員和用戶構成。1.2 資料庫系統的特點 資料庫系統的點主要有:數據的結構化、高共享性、低冗餘度、易擴充、較高的獨立性(物理數據獨立、邏輯數據獨立)以及數據由DBMS統一管理和控制(數據的安全性Security保護、數據的完整性Integrity保護、並發Concurrency控制、資料庫恢復Recovery)等。第二章 資料庫性能優化 資料庫作為一種獨立的、有組織、的可共享的數據集合,數據的查詢訪問是數據操作中頻度最高的操作。當數據量和訪問頻率達到一定程度的時候,系統的響應速度就至關重要了,這時候就需要對資料庫數據存儲的結構和方式進行優化,使其滿足系統需要的訪問響應速度。2.1 性能影響因素 常見的影響數據訪問速度的因素,有以下幾種:1. 沒有索引或者沒有用到索引 資料庫索引就像書籍中目錄一樣,使用戶在訪問資料庫數據時,不必遍歷所有數據就可以找到需要的數據。創建索引後,可以保證每行數據的唯一性,極大地提高數據檢索效率,這是一中犧牲空間換取性能的方法。沒有索引或者沒有用到索引是數據訪問速度慢最常見的因素,也是程序設計的一個缺陷所在。2. I/O吞吐量小,形成了瓶頸效應 I/O吞吐量是影響數據訪問速度的客觀因素(硬體因素)。在一定的硬體環境下,利用優化的部署方案可適當提高I/O吞吐量。3. 沒有創建計算列導致查詢不優化 計算列是一個比較特殊的列,不填寫任何設計類型,用戶不可以改變該列的值。計算列的值是通過一定的函數公式等以另一個或多個列的值為輸入值計算出的結果。如果沒相應的計算列,在一些數據查詢的時候需要對已有數據進行計算,從而浪費一部分性能。4. 內存不足 對資料庫數據的查詢訪問毫無疑問會佔用大量的內存空間,當內存不足的情況下,數據的訪問速度會受到明顯的影響甚至訪問出現超時情況,是影響數據訪問速度的客觀因素。5. 網路速度慢 網路速度慢是影響數據訪問速度的客觀因素。可通過提高網路訪問的位寬來解決。6. 查詢出的數據量過大 當查詢出的數據量過大時,內存的佔用、系統時間的佔用等都影響數據訪問的速度。可以採用多次查詢、定位查詢、和查詢數據量控制來解決。7. 鎖或者死鎖 鎖或者死鎖在資料庫數據訪問時會造成訪問者等待時間過程或者永久無法獲取到資源。這是查詢慢最常見的因素之一,是程序設計的缺陷,要盡量避免。8. 返回不必要的行和列 在一般的數據查詢中,都盡可能多的獲取數據信息,這樣造成了不必要的數據遍歷,大大的增加了數據訪問的響應的時間。所以在一般的查詢中,盡量查詢少的行和列,將數據遍歷時間降到最低以滿足數據輸出需求。9. 查詢語句不夠優化 在數據查詢訪問過程中,使用最頻繁的是使用自定義的查詢語句進行數據輸出的。所以編寫優化的查詢語句能夠很大程度上提高數據查詢訪問的速度。2.2 性能優化 資料庫性能優化主要是提高數據訪問的速度,即提高資料庫響應速度的性能指標。性能優化主要分為主觀因素和客觀因素兩部分的優化。這里主要針對影響性能的客觀因素進行優化。2.2.1 主觀因素優化 主觀因素主要是指伺服器的硬體環境。主要優化有以下幾個方面:1、 把數據、日誌、索引放到不同的I/O設備上,增加讀取速度,數據量越大,提高I/O吞吐量越重要;2、 縱向、橫向分割表,減少表的尺寸(sp_spaceuse);3、 升級硬體;4、 提高網路訪問速度;5、 擴大伺服器的內存;配置虛擬內存:虛擬內存大小應基於計算機上並發運行的服務進行配置,一般設置為物理內存的1.5倍;如果安裝了全文檢索功能,並打算運行Microsoft搜索服務以便執行全文索引和查詢,可考慮將虛擬內存大小設置為至少計算機中物理內存的3倍;6、 增加伺服器CPU個數;其中並行處理比串列處理更需要資源。SQL SERVER根據系統負載情況決定最優的並行等級,復雜的需要消耗大量的CPU的查詢適合並行處理。不過更新操作UPDATE、INSERT、DELETE不能進行並行處理。 2.2.2 客觀因素優化 客觀因素主要指的是由於設計和開發中存在的缺陷和漏洞;主要優化有以下幾個方面:1. 優化索引(1) 根據查詢條件建立優化的索引、優化訪問方式,限制結果集的數據量。注意填充因子要適當(最好是使用默認值0)。索引應該盡量小,使用位元組數小的列建里索引(參照索引的創建),不要對有限的幾個值的欄位建立單一索引(如性別欄位)。(2) 如果使用LIKE進行查詢的話,簡單的使用INDEX是不行的,全文索引又太耗費空間。LIKE 『N%』使用索引,LIKE 『%N』不使用索引。用LIKE『%N%』查詢時,查詢耗時和欄位值總長度成正比,所以不能用CHAR類型而採用VARCHAR。對於欄位的值很長的欄位建立全文索引。(3) 重建索引DBCC REINDEX,DBCC INDEXDEFRAG,收縮數據和日誌DBCC SHRINKDB,DBCC SHRINKFILE。設置自動收縮日誌,對與大的資料庫不要設置資料庫自動增長,它會降低伺服器的性能。2. 資料庫部署優化(1) DB SERVER和APPLICATION SERVER分離,OLTP和OLAP分離;(2) 使用分區視圖。分布式分區視圖可用於實現資料庫伺服器聯合體,聯合體是一組分開管理的伺服器,他們互相協作分擔系統的處理負荷。A、在實現分區視圖之前,必須先水平分區表。B、在創建成員表後,在每個伺服器上定義一個分布式分區視圖,並且每個視圖具有相同的名稱。這樣引用分布式分區視圖名的查詢可以在任何一個成員伺服器上運行。系統操作如同每個成員伺服器都有一個原始表的復本一樣,不過每個伺服器上其實只有一個成員表和一個分布式分區視圖。數據的位置對應用程序是透明的。3. 查詢語句優化 T-SQL的寫法上有很大的講究,DBMS處理查詢計劃的過程是:a、查詢語句的詞法、語法檢查;b、將語句提交給DBMS的查詢優化器;c、優化器做代數優化和存取路徑的優化;d、由預編譯模塊生成查詢規劃;e、在合適的時間提交給系統處理執行;f、將執行結果返回給用戶。(1) COMMIT和ROLLBACK的區別:ROLLBACK回滾所有的事務;COMMIT提交當前的事務。在動態語句中寫事務,請將事務寫在外面,如:BEGIN TRAN EXEC(@SQL) COMMIT TRANS或者將動態SQL寫成函數或者存儲過程。(2) 在大數據兩的查詢輸出SELECT語句中盡量不要使用自定義函數,調用自定義函數的函數時系統調用是一個迭代過程,很影響查詢輸出性能的。在查詢欄位時盡可能使用小欄位兩輸出,並在WHERE子句或者使用SELECT TOP 10/1 PERCENT來限制返回的記錄數,使用SET ROWCOUNT來限制操作的記錄數,避免整表掃描。返回不必要的數據,不但浪費了伺服器的I/O資源,加重了網路的負擔,如果表很大的話,在表掃描期間將表鎖住,禁止其他的聯接訪問,後過很嚴重的。(3) SQL的注釋申明對執行查詢輸出沒有任何影響。(4) 使用計算列對數據進行簡單計算,盡量避免在查詢語句中對數據進行運算。(5) 盡可能不使用游標,它會佔用大量的資源。如果需要ROW-BY-ROW地執行,盡量採用非游標技術,如:客戶端循環、臨時表、TABLE變數、子查詢、CASE語句等等。(6) 使用PROFILER來跟蹤查詢,得到查詢所需的時間,找出SQL的問題所在,用索引優化器優化索引。(7) 注意UNION和UNION ALL的區別。在沒有必要的時候不要用DISINCT,它同UNION一樣會降低查詢速度,重復的記錄在查詢里是沒有問題的。(8) 用sp_configure 『query governor cost limit』或者 SET QUERY_COVERNOR_COST_LIMIT來限制查詢消耗的資源。當評估查詢消耗的 資源超出限制時,伺服器自動取消查詢,在查詢之前就扼殺掉。SET LOCKTIME 設置鎖的時間。(9) 不要在WHERE子句中列名加函數,如CONVERT,SUBSTRING等,如果必須用函數的時候,創建計算列在創建索引來替代。NOT IN會多次掃描表,使用EXISTS、NOT EXISTS、IN、LEFT OUTER JOIN來替代,其中EXISTS比IN更快,最慢的NOT操作。(10) 使用QUERY ANALYZER,查看SQL語句的查詢計劃和評估分析是否是優化的SQL。一般20%的代碼佔用了80%的資源,優化的重點就是這些慢的地方。(11) 如果使用了IN或者OR等時發現查詢沒有走索引,使用顯式申明指定索引,如:Select * From FA01(INDEX=IX_SEX) Where AA0107 IN(『01』,『02』)。(12) 在需要對已有數據進行比較復雜計算才能獲得查詢的結果數據時,將需要查詢的結果預先計算好放在表中,查詢的時候在SELECT。(13) 資料庫有一個原則是代碼離數據越近越好,所有有限選擇DEFAULT,依次為RULES,CONSTRAINT,PROCEDURE來編寫程序的質量高,速度快。如果要插入大的二進制到IMAGE列,使用存儲過程,千萬不要用內嵌INSERT直接插入。因為這樣應用程序首先將二進制轉換成字元串,伺服器收到字元後又將他轉換成二進制。存儲過程直接傳入二進制參數即可,處理速度明顯改善,如:CREATE PROCEDURE image_insert @image varbinary as Insert into table(fImage) values(@image)。(14) Between在某些時候比IN速度更快,更快地根據索引找到范圍。由於IN會比較多次,所以有時會慢些。(15) 盡量不要建沒有作用的事務例如產生報表時,浪費資源,只有在必須使用事務時才建立合適的事務。(16) 用OR的字句可以分解成多個查詢,並通過UNION連接多個查詢。速度取決與是否使用索引。如果查詢需要用聯合索引,用UNION ALL執行的效率更高些。(17) 盡量少用視圖,視圖的效率低。對視圖操作比直接對表操作慢,可以用SRORED PROCEDURE來代替。特別是不要用視圖嵌套,嵌套視圖增加了尋找原始資料的難度。視圖是存放在伺服器上的被優化好了的已經產生查詢規劃的SQL。對單表數據檢索時,不要使用指向多表的視圖,否則增加了不必要的系統開銷,查詢也會受到干擾。沒有必要時不要用DISTINCT和ORDER BY,這些動作可以改在客戶端執行,增加了額外的開銷,這同UNION和UNION ALL原理相同。(18) 當使用SELECT INTO和CREATE TABLE時,會鎖住系統表(SYSOBJECTS,SYSINDEXES等),從而阻塞其他的連接的存取。所以千萬不要在事務內部使用。如果經常要用到臨時表時請使用實表或者臨時表變數。盡量少用臨時表,用結果集和TABLE類型的變數來代替。(19) 在使用GROUP BY HAVING子句時,在使用前剔除多餘的行,盡量避免使用HAVING子句剔除行工作。剔除行最優的執行順序是:SELECT的WHERE子句選擇所有合適的行,GROUP

I. SQLSERVER大資料庫解決方案

在微軟的大數據解決方案中,數據管理是最底層和最基礎的一環。

靈活的數據管理層,可以支持所有數據類型,包括結構化、半結構化和非結構化的靜態或動態數據。

在數據管理層中主要包括三款產品:SQLServer、SQLServer並行數據倉庫和

Hadoop on Windows。

針對不同的數據類型,微軟提供了不同的解決方案。

具體來說,針對結構化數據可以使用SQLServer和SQLServer並行數據倉庫處理。

非結構化數據可以使用Windows Azure和WindowsServer上基於Hadoop的發行版本處理;而流數據可以使用SQLServerStreamInsight管理,並提供接近實時的分析。

1、SQLServer。去年發布的SQLServer2012針對大數據做了很多改進,其中最重要的就是全面支持Hadoop,這也是SQLServer2012與SQLServer2008最重要的區別之一。今年年底即將正式發布的SQLServer2014中,SQLServer進一步針對大數據加入內存資料庫功能,從硬體角度加速數據的處理,也被看為是針對大數據的改進。

2、SQLServer並行數據倉庫。並行數據倉庫(Parallel Data Warehouse Appliance,簡稱PDW)是在SQLServer2008 R2中推出的新產品,目前已經成為微軟主要的數據倉庫產品,並將於今年發布基於SQLServer2012的新款並行數據倉庫一體機。SQLServer並行數據倉庫採取的是大規模並行處理(MPP)架構,與傳統的單機版SQLServer存在著根本上的不同,它將多種先進的數據存儲與處理技術結合為一體,是微軟大數據戰略的重要組成部分。

3、Hadoop on Windows。微軟同時在Windows Azure平台和WindowsServer上提供Hadoop,把Hadoop的高性能、高可擴展與微軟產品易用、易部署的傳統優勢融合到一起,形成完整的大數據解決方案。微軟大數據解決方案還通過簡單的部署以及與Active Directory和System Center等組件的集成,為Hadoop提供了Windows的易用性和可管理性。憑借Windows Azure上基於Hadoop的服務,微軟為其大數據解決方案在雲端提供了靈活性。

熱點內容
湖南回收伺服器主板雲主機 發布:2024-10-08 06:12:59 瀏覽:807
psv視頻腳本 發布:2024-10-08 06:12:13 瀏覽:420
文件夾菜單欄 發布:2024-10-08 05:46:23 瀏覽:491
壓縮機選型手冊 發布:2024-10-08 05:24:37 瀏覽:621
java主機名 發布:2024-10-08 05:12:55 瀏覽:118
華意壓縮待遇 發布:2024-10-08 05:04:07 瀏覽:466
jsp上傳圖片存到資料庫 發布:2024-10-08 05:04:06 瀏覽:74
分卷壓縮解壓速度 發布:2024-10-08 04:45:16 瀏覽:847
冰雪單職業輔助哪個好安卓 發布:2024-10-08 04:40:06 瀏覽:663
iqz3哪個配置好一點 發布:2024-10-08 04:34:07 瀏覽:762