當前位置:首頁 » 編程語言 » db2sql性能優化
擴展閱讀
java輕量級web 2022-10-04 09:10:45

db2sql性能優化

發布時間: 2022-08-13 00:08:15

sqllite,mysql,db2,sqlservice這些資料庫是什麼關系

SQLLite
是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC介面,同樣比起Mysql、PostgreSQL這兩款開源世界著名的資料庫管理系統來講,它的處理速度比他們都快。

MySql
是一個關系型資料庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是一種關聯資料庫管理系統,關聯資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。它分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇MySQL作為網站資料庫。由於其社區版的性能卓越,搭配PHP和Apache可組成良好的開發環境。

DB2
是IBM公司研製的一種關系型資料庫系統。DB2主要應用於大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境,應用於OS/2、Windows等平台下。 DB2提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程序的執行能力,具有與平台無關的基本功能和SQL命令。DB2採用了數據分級技術,能夠使大型機數據很方便地下載到LAN資料庫伺服器,使得客戶機/伺服器用戶和基於LAN的應用程序可以訪問大型機數據,並使資料庫本地化及遠程連接透明化。 它以擁有一個非常完備的查詢優化器而著稱,其外部連接改善了查詢性能,並支持多任務並行查詢。 DB2具有很好的網路支持能力,每個子系統可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統尤為適用。

SQL Server
是由Microsoft開發和推廣的關系資料庫管理系統(DBMS),並於1988年推出了第一個OS/2版本。目前最新版本是2012年3月份推出的SQL SERVER 2012。
1.真正的客戶機/伺服器體系結構。
2.圖形化用戶界面,使系統管理和資料庫管理更加直觀、簡單。
3.豐富的編程介面工具,為用戶進行程序設計提供了更大的選擇餘地。
4.SQL Server與Windows NT完全集成,利用了NT的許多功能,如發送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產品集成。
5.具有很好的伸縮性,可跨越從運行Windows 95/98的膝上型電腦到運行Windows 2000的大型多處理器等多種平台使用。
6.對Web技術的支持,使用戶能夠很容易地將資料庫中的數據發布到Web頁面上。
7.SQL Server提供數據倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。

上述資料來源於互聯網整理得到

② DB2的介紹

IBM DB2 是美國IBM公司開發的一套關系型資料庫管理系統,它主要的運行環境為UNIX(包括IBM自家的AIX)、Linux、IBM i(舊稱OS/400)、z/OS,以及Windows伺服器版本。DB2主要應用於大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境,應用於所有常見的伺服器操作系統平台下。 DB2提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程序的執行能力,具有與平台無關的基本功能和SQL命令。DB2採用了數據分級技術,能夠使大型機數據很方便地下載到LAN資料庫伺服器,使得客戶機/伺服器用戶和基於LAN的應用程序可以訪問大型機數據,並使資料庫本地化及遠程連接透明化。 DB2以擁有一個非常完備的查詢優化器而著稱,其外部連接改善了查詢性能,並支持多任務並行查詢。 DB2具有很好的網路支持能力,每個子系統可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統尤為適用。DB2除了可以提供主流的OS/390和VM操作系統,以及中等規模的AS/400系統之外,IBM還提供了跨平台(包括基於UNIX的LINUX,HP-UX,SunSolaris,以及SCOUnixWare;還有用於個人電腦的OS/2操作系統,以及微軟的Windows 2000和其早期的系統)的DB2產品。DB2資料庫可以通過使用微軟的開放資料庫連接(ODBC)介面,Java資料庫連接(JDBC)介面,或者CORBA介面代理被任何的應用程序訪問。

③ DB2與SQL Server的區別

SQL Server是基於伺服器端的中型的資料庫,可以適合大容量數據的應用,在功能上管理上也要比Access要強得多。在處理海量數據的效率,後台開發的靈活性,可擴展性等方面強大。因為現在資料庫都使用標準的SQL語言對資料庫進行管理,所以如果是標准SQL語言,兩者基本上都可以通用的。SQL Server還有更多的擴展,可以用存儲過程,資料庫大小無極限限制

DB2是IBM出口的一系列關系型資料庫管理系統,分別在不同的操作系統平台上服務。雖然DB2產品是基於UNIX的系統和個人計算機操作系統,在基於UNIX系統和微軟在windows系統下的Access方面,DB2追尋了ORACLE的資料庫產品。
這款新型數據伺服器率先實現了可擴展標記語言(XML)和關系數據間無縫交互,而無需考慮數據的格式、平台或位置。來自8個國家的750多名軟體開發人員為「Viper」的問世做出了努力,他們進行了精心設計和調試,力求將其打造成SOA環境下的首選信息引擎.? DB2 9取得了十項重大進步,包括已獲得專利的「pureXML」技術、突破性的「Venom」存儲壓縮以及增強的自動化數據管理能力等。

1、新的XML特性:

在無需重新定義XML數據的格式,或將其置於資料庫大型對象中的前提下,IBM DB2 9允許用戶無縫管理普通關系數據和純XML數據。此項能力是Viper所獨有的,它將有助於客戶增加其信息的實用性、速度和多功能性,同時大大降低與現有數據管理技術相關的管理成本。它還將顯著降低復雜性,並減少普通開發商創建「同時訪問關系數據和XML數據的應用」所花費的時間。

新的XML數據類型,允許客戶在分層的表格欄中存儲規范的XML文檔。

支持SQL語句及SQL/XML函數中的XML數據類型。

支持由萬維網聯盟(W3C)開發的新XQuery語言。IBM DB2 9允許客戶直接調用XQuery語言,調用功能可以從DB2表格與視圖中提取XML數據。

支持XML數據的檢索功能,提高了針對XML文檔的查詢效率。

為支持DB2的編程程序語言中的XML提供支持,允許應用整合對XML及關系型數據的訪問和存儲。

2、新的應用與開發特性:

對應用開發工具和原生XML數據存儲新特性的支持,允許應用訪問和存儲XML及相關數據。

DB2 Developer Workbench是一種綜合開發環境,可用於創建、編輯、調試、測試和部署DB2存儲流程和用戶自定義的功能。客戶還可以使用Developer Workbench開發SQL應用,創建、編輯和運行SQL語句與XML查詢。

面向JDBC和SQLJ的增強型DB2驅動程序符合JDBC 3.0規范,它還同時支持SQLJ語句。

SQLJ語句的功能特性與大多數JDBC方法相似。

此外,還包括其它重要特性:支持眾多新數據類型、DB2獨有的支持到面向z/OS? 數據伺服器IBM DB2 9版可靠連接的方式、異構組合、連接重用等。除支持Visual Studio 2005以外,還包括對Web服務的支持,對本地XML數據存儲的全面支持,以及無需編寫代碼就可以構建應用及Web站點的能力。增強型DB2 Runtime Client支持64位計算,還可在同一台計算機上與其它DB2產品共存。

3、新增自動資料庫管理功能:

適應性、自調式內存分配,通過不斷更新配置參數、調整緩沖池大小和動態分配可用的內存資源,幫助用戶簡化或排除DB2伺服器的配置工作。面向z/OS對象的DB2 UDB自動狀態檢測功能,允許客戶通過控制中心的創建和變更對象策略向導,使面向z/OS對象的DB2 UDB實現對象維護策略評估自動化。

自動存儲支持,可以自動擴充磁碟和文件系統中資料庫的大小,現在可用於多分區資料庫。

自動統計數據收集,創建新資料庫時會自動啟動。

根據DB2資料庫系統的環境特點,自動配置prefetchers進程與頁清潔器。

面向自動表格與索引重組的新策略選項,為資料庫管理員提供更多管理表格與索引重組的功能。

4、性能與可擴展性增強(存儲壓縮等):

利用數據行壓縮技術壓縮數據對象的功能,可以幫助客戶節省磁碟存儲空間,並加快數據訪問速度。

統計數據視圖,為改進查詢功能提供更出色的訪問計劃。

使用定製的腳本或程序加快數據載入速度。

增強型物化查詢表(MQT)可為設計MQT提供更強大地支持,更出色的查詢性能和更完善的MQT維護。

更大的記錄標識符(RID)允許每個對象擁有更多數據頁,系統中每頁擁有更多記錄,一方面為資料庫管理員使用系統和用戶的臨時表格提供了便利,另一方面也便於執行分類和登錄操作。

索引的關鍵字最多可達64組,大小可以擴充至8 KB。

5、新的安全特性與增強:

使用基於標簽的訪問控制(LBAC),改進行、列級別的數據訪問控制功能。

新安全管理器(SECADM)的授權級別,將若干個與安全性相關的優先權集中到一項優先權名下,提高了對於訪問信息資產的控制。

「創建資料庫」語句中新增的「限制」選項,增強了對進入資料庫的控制。

SETSESSIONUSER優先權加強了對擁有轉換會話用戶身份權力的人的控制。它允許掌握該項權力的人轉換為任何被賦予權利的授權ID。

TRANSFER OWNERSHIP SQL語句,提供了改變資料庫對象的歸屬權的能力。

6、使用表格分區改進大型資料庫管理:

表格分區是一種數據組織計劃,在該計劃中,表格數據根據多個表格列,被劃分到多個被稱為表格分區或范圍的存儲對象中。這些存儲對象可能存放在不同的表空間或相同的表空間中,或兩種情況兼而有之。此項新特性的優勢包括:

能夠創建非常大的表格。分區表格包含的數據遠遠超過了普通表格。將表格數據劃分到眾多存儲對象中,有助於顯著增加表格尺寸。

更靈活的管理能力。現在,客戶可以在個別數據分區中完成管理工作,將消耗時間的維護操作分成一系列小型操作。

更加精確地控制索引位置。客戶可以將索引放置在不同的表空間,分別對其進行管理。

快速、輕松地訪問數據或轉出數據。這一功能在數據倉庫環境中尤為有用,客戶經常在此環境中移入或移出數據,運行支持決策的查詢。

改進的查詢功能。通過表格分區分離數據,避免對不相關數據進行掃描,從而改進查詢處理的功能。

7、數據恢復增強:

重新啟動中斷的恢復操作,可以在資料庫恢復時節省寶貴的時間,同時簡化恢復工作。

支持重定向恢復操作,在現有備份鏡像中自動生成腳本。

能夠從表空間備份鏡像中重新構建資料庫。此項功能讓DB2的恢復更加靈活和多樣化,同時為客戶提供更全面的恢復解決方案。

8、自主管理性能增強:

使用適應性、自調內存分配簡化了內存管理。自調內存提供動態配置,能對工作負載特性的重大變化做出積極響應。

客戶創建資料庫時,自動統計數據收集功能會自動啟動。憑借自動統計數據收集,IBM DB2 9版自動在後台運行RUNSTATS實用程序,確保收集到正確的統計數據,並進行維護。

面向多分區資料庫的自動存儲支持。這一功能可以按照需求,自動擴大磁碟和文件系統中資料庫的容量。

ALTER TABLE語句增強允許客戶無需停止或重新創建表格,就可以改變部分表格的屬性。

新的策略選項為資料庫管理員提供了新的表格和索引自動重組功能。

可以拷貝資料庫計劃,創建模塊方案。一旦資料庫管理員創建了模塊方案,他們就可將其作為創建新視圖的模板。

新的管理SQL常式和視圖提供了基本、易用的可編程界面,便於藉助SQL來管理DB2。

動態快速通信管理器(FCM)緩沖和新的配置參數,可通過DB2資料庫管理器進行自動調節。

9、安裝性能增強:

新的CLI驅動程序(面向ODBC和CLI的IBM? DB2驅動程序),客戶可以在不安裝DB2客戶端軟體的情況下安裝此驅動程序。

更加靈活、有效的產品授權管理

可以在同一台計算機上安裝多個DB2版本和修補包。

新的響應文件關鍵字允許IT員工無需與最終用戶交互安裝DB2產品。

自動演進 — 從Stinger到Viper

基於第8.2版推出的增強功能,IBM DB2 9版中新的自動數據管理特性將繼續幫助提高資料庫管理員的生產效率和效用。

其中一些關鍵特性包括:

適應性、自調內存分配功能此項新功能通過不斷更新配置參數和重新調整緩沖池的大小,簡化或排除了DB2伺服器的配置工作。一旦啟動,該功能可在不同內存消耗點之間,動態分配可用的內存資源。在Windows和AIX? 操作系統中,自調內存功能也可以確定資料庫內存總體需求,並會自動調節資料庫共享內存。

面向 z/OS對象的DB2 UDB自動狀態監測功能 通過控制中心的創建和變更對象策略向導,客戶可以實現面向z/OS對象的DB2 UDB對象維護策略評估的自動化,從而可使其按照預定次數和時間間隔運行。對創建了策略警報的對象而言,警報通知會發送至對象維護策略指定的狀況警報聯系處。

自動存儲支持 自動存儲可以自動擴大磁碟與文件系統中資料庫的容量。它消除了對管理存儲器的需求,同時利用了資料庫管理存儲的性能和靈活性。在IBM DB2 9版中,已經添加了面向多分區資料庫的自動存儲功能。此外,在創建新資料庫時,自動存儲會自動啟動。

自動統計數據收集 在IBM DB2 9版中,當創建新資料庫時,使用RUNSTATS命令的自動統計數據收集功能會自動啟動。必要時,DB2伺服器會在後台處理中收集數據的統計信息。

DB2優化器(DB2 optimizer)利用這些信息對資料庫中的信息最有效地恢復。

prefetchers進程和頁清潔器的自動配置 在IBM DB2 9版中,prefetchers進程與頁清潔器的數量可由DB2資料庫系統根據某些環境特性,如CPU的數量、資料庫分區的數量和資料庫表空間的並行設置,自動確定。

表格與索引自動重組功能增強 表格與索引重組的新策略選項,為資料庫管理員提供了更豐富的表格與索引重組管理功能。

④ DB2 ERRORCODE=-4461 SQLSTATE=42815是什麼錯誤提示

db2 => ? 42815;

SQLSTATE 42815: 數據類型、長度、小數位、值或 CCSID 無效。

⑤ ibm db2 是世上最強資料庫嗎

DB2和oracle以及MS的SQL Server比的話,某種意義上說,確實是更強的。
Oralce現在比較流行,大中型資料庫一般都會使用Oracle,操作確實比DB2更方便,DB2主要是更遵守SQL本身的規則(因為SQL本身就是IBM提出的),並沒有像Oracle一樣擴展出自己的PL/SQL。所以用起來沒那麼方便,很多東西需要自己去實現。
但是DB2擁有最好的查詢優化器(資料庫的核心),也就意味著它能更高效的處理海量數據。這是其他所有資料庫都比不了的。另外還有不少重要特性都比Oracle強一些(比如磁碟負載自動平衡、XML處理能力等)。再配上IBM為DB2量身定製的大型機、小型機,DB2處理海量資料庫的性能是其他資料庫比不了的,因此各大銀行,證券交易所等更多地使用DB2。一般的大中型資料庫則用得少,畢竟貴一些,難一些,DB2的必要性淡一些。
很多資料庫技術都是IBM首創的,可以說,DB2在技術方面一直是業界領軍的。
SQL Server、MySQL之類就不說了,它們主要應用於中小型資料庫。跟DB2和Oracle還是有差距的。
不過說世上最強不大合適,畢竟有些資料庫在一些特定領域能夠有更好的表現。

⑥ 鋪底數據是什麼意思

鋪底數據就是我們在做性能測試之前,在資料庫里除資料庫字典表外按照業務邏輯存入的大量的數據。這些數據可以被視為垃圾數據,因為它們對系統的業務邏輯沒有實際影響,但對系統的性能卻有著很大的影響。
我們需要按照實際的情況去生成鋪底數據,而且這一過程要符合實際的生產情況表的數據比例。譬如:有一張表的數據量和另外一張表的倍數關系是 5∶1,那麼准備數據的時候不論准備的數據是多少條,也需要保證這兩個表的數據量的倍數是 5∶1。
雖然鋪底數據是垃圾數據,但是它們同樣需要遵守資料庫中數據的依賴關系。比如一對一、一對多的關系等。
我們在性能測試中准備的數據如「性能測試之前在 DB2 裡面准備的鋪底數據表」所示。
在性能測試開始之前,我們在 DB2 資料庫裡面准備的鋪底數據的總量是10.5 GB。
或許你會問,為什麼要准備這些鋪底數據?這些數據不是我們實際生產環境中出現的數據,那為什麼要花時間去准備如此大量的數據呢?答案是,系統在有鋪底數據和沒有鋪底數據的情況下,性能會有很大的差異。那麼,為什麼會出現這種情況呢?
首先,如果沒有那些鋪底數據,那麼,本來為一張表建立了一個索引,當系統的數據量很小的時候,資料庫就有可能進行全表掃描,而不是索引掃描,因此,如果沒有鋪底數據的話,有可能會造成系統發生資料庫的死鎖。
如果數據量比較少,資料庫為了優化,有的時候就不用索引掃描,而採用全表掃描,這樣造成整表被鎖,導致死鎖。而數據量大了以後資料庫會進行索引掃描,不會鎖住整個表。
所以,在有些情況下,系統上線時必須要准備一些無用的數據放在表中,讓資料庫不會採用全表掃描。雖然有的時候可以通過改變鎖的策略去解決這個問題,但是如果存在風險,在上線系統中就要避免。
其次,如果數據量很小的話,我們不知道進行一次查詢的時候, SQL 語句究竟是哪種執行路徑方案。資料庫有自動根據 SQL 語句算出一條自認為最優化的路徑的功能,譬如 DB2 的 ACCESS PATH。ACCESS PATH 會隨著數據量多少的變化而變化。一旦系統的體系結構比較龐大,那麼,在日積月累中數據量會越來越大。所以要准備一定數量的數據,讓 ACCESS PATH 保持相對穩定。

因為,鋪底數據使得系統性能更加真實,更符合生產環境的真實情況。在資料庫裡面存入鋪底數據,系統從一開始上線的時候,就有了一個比較穩定的環境。
如果沒有鋪底數據,那麼系統的環境可能隨時都會面臨著不穩定的因素,如性能陡變、資料庫異常、響應時間突然下降等。所以准備鋪底數據,不但對性能測試意義深遠,而且對即將上線的生產環境也是至關重要的。試想在銀行系統中,如果不準備鋪底數據,一旦系統上線的時候發生了問題,那麼銀行會損失多少客戶。

准備鋪底數據主要有以下幾個原則:1.資料庫中的數據量只要比內存大上若干倍,結果就差不多了;2.數據在准備的時候,要保持原表的約束關系;3.每張表的數據量要符合真實情況。

⑦ sqlserver和DB2的區別

主要區別在於資料庫性能
SQL Server 屬於中型資料庫,主要應用於一般商用環境,處理百萬到千萬級數據量是沒有問題的,而DB2屬於大型資料庫,主要用於電信級或者數據中心級應用,可處理億級以上數據量。
另外SQL Server 只能運行在Windows 環境下,而DB2主要運行在UNIX或Linux環境下,因此 DB2性能總體優於SQL Server。

⑧ 資料庫系統優化的人工智慧自動SQL優化

人工智慧自動SQL優化出現在90年代末。目前在商用資料庫領域,LECCO Technology Limited(靈高科研有限公司)擁有該技術,並提供使用該技術的自動優化產品LECCO SQL Expert,它支持Oracle、Sybase、MS SQL Server和IBM DB2資料庫平台。該產品針對資料庫應用的開發和維護階段提供的模塊有:SQL語法優化器、PL/SQL集成化開發調試環境(IDE)、掃描器、資料庫監視器等。其核心模塊SQL 語法優化器的工作原理為:①輸入一條源SQL語句;②「人工智慧反饋式搜索引擎」對輸入的SQL語句,結合檢測到的資料庫結構和索引進行重寫,產生N條等效的SQL語句輸出;③產生的N條等效SQL語句再送入「人工智慧反饋式搜索引擎」進行重寫,直至無法產生新的輸出或搜索限額滿;④對輸出的SQL語句進行過濾,選出具有不同執行計劃的SQL語句;⑤對得到的SQL語句進行批量測試,找出性能最好的SQL語句。