資料庫優劣

2021-06-27 07:06:21 字數 3511 閱讀 5379

mysql:

優點: 1.支援5000萬條記錄的資料倉儲

2.適應於所有的平台

3.是開源軟體,版本更新較快

4.效能很出色。純粹就效能而言,mysql是相當出色的,因為它包含乙個預設桌面格式myisam。myisam 資料庫與磁碟非常地相容而不占用過多的cpu和記憶體。mysql可以執行於windows系統而不會發生衝突,在unix或類似unix系統上執行則更好。你還可以通過使用64位處理器來獲取額外的一些效能。因為mysql在內部裡很多時候都使用64位的整數處理。

5.**便宜

缺點: 缺乏一些儲存程式的功能,比如myisam引擎聯支援交換功能

mssqlserver:

優點: 1.真正的客戶機/伺服器體系結構

2.圖形化的使用者介面,使系統管理和資料庫管理更加直觀、簡單

3.豐富的程式設計介面工具,為使用者進行程式設計提供了更大的選擇餘地

4.與winnt完全整合,利用了nt的許多功能,如傳送和接受訊息,管理登入安全性等,sql server也可以很好地與microsoft backoffice產品整合。

5.有很好的伸縮性,可以跨平台使用。

6.提供資料倉儲功能,這個功能只在oracle和其他昂貴的dbms中才有。

oracle:

優點: 1.oracle的穩定性要比sql server好。

2.oracle在導資料工具sqlload.exe功能比sqlserver的bcp功能強大,oracle可以按照條件把文字檔案資料匯入.

3.oracle的安全機制比sql server好。

4.sql server的易用性和友好性方面要比oracle好。

5.在處理大資料方面oracle會更穩定一些。

6.sql server在資料匯出方面功能更強一些。

7.處理速度方面比oracle快一些,和兩者的協議有關.

缺點: **昂貴

1. oracle跨平台,sql server只能執行在windows上,而windows能夠安裝的硬體是有限的,如sun的sparc伺服器不能安裝windows,一些大型機、小型機也只能裝unix,在這些高階機器上就只能跑oracle了,這注定了oracle就是高階資料庫,而sql server呢,中低端。

2. oracle真正實現了行級鎖,sql server也宣稱實現了行級鎖,但你實際去試,如果不加索引,其實是不行的。

3. oracle因為有多版本資料的技術,讀寫操作不會相互等待,雖然sql server 2005學習oracle增加了snapshot機制,從而也引進了多版本資料(mysql也有多版本資料機制,不能說一定是學習oracle),但是實際效果感覺就是2個版本的資料,隔離級別為read committed時候,讀寫不再相互等待,但是把隔離設定為serializable還是會產生讀寫相互等待。

4. oracle的事務日誌歸檔相當方便,而sql server要用事務日誌備份來實現,而且還要配置自動作業,啟動agent服務。

5. oracle的資料字典豐富,使得dba容易判斷資料庫的各種情況,雖然sql server 2005學習了oracle的資料字典的特點,但從數量及方便程度上還是相差太多。個人感覺這是oracle最人性化的地方。

6. oracle的pl/sql比sql server的t-sql功能強大很多。

7. oracle的觸發器比sql server的種類多幾種。

8. oracle的備份恢復原理相當簡單明瞭,備份就在作業系統上拷貝資料檔案好了,恢復呢,再拷貝回來,資料是舊的,不怕,應用重做日誌好了。sql server呢,雖然原理在本質上還是這些,但操作起來麻煩多了,麻煩到讓你體會不到其本質。

9. oracle資料庫啟動可以有多個階段,使得dba可以在不同的情況下,通過啟動到特定的階段解決一些特殊問題,而sql server只要服務一啟動,所有資料庫就都開啟了。

10. sql server給人的感覺是簡單易用,但是我要說,如果你繼續向前走,就會發現sql server的體系結構相當複雜(注意我這裡是說的複雜),大體還是沿襲的sybase的體系結構,這種複雜結構,估計很難有根本性的改變,而oracle呢,時間越長你越會覺得其體系結構嚴謹,雖然開始會感覺很難。我的乙個比喻,sql server是傻瓜相機(就是那些一兩千的小數碼),oracle是單鏡反光機(40d,5d,d300),如果你是入門者,那用傻瓜相機好了,在各種環境下拍攝,基本都過得去,用單反,光圈、快門都要自己設定,反倒不如傻瓜相機的效果,如果你是高手了,那傻瓜相機就很難得心應手了。

11. oracle的書籍一般都比較深,隨便一說就是一大批,epert oracle、practical oracle 8i、cost-based oracle,sql server呢,恐怕只有那套inside sql server了,雖然sql server的書籍數量比oracle的多的多(特別是在國內),但多數都是step by step的入門書。

12. 對比sql*plus與sqlcmd(或2000的osql,6.5的isql),sqlcmd的功能是太簡陋,差得太多了。

13. sqlserver的最大優點就是和windows結合緊密,易用,但是要注意事情都是兩面的,這些優點可能導致其致命的缺點,例如易用,使得搞sql server的人可以不求甚解,有時候不求甚解是沒問題的,但是有時候不求甚解可能會造成災難,特別是對搞資料庫的人來說。不好意思,本來要說sql server的優點呢,最後也成了缺點了。

access是由微軟發布的關聯式資料庫管理系統。它結合了 microsoft jet database engine 和圖形使用者介面兩項特點,是 microsoft office的成員之一。優點:access部署簡單方便就乙個檔案運用起來比較靈活主要是桌面資料庫系統,他也可以開發基於自己的桌面資料庫應用(ui),也可以作為前端開發工具與其它資料庫搭配開發應用程式(如sql server,db2,oracle等),熟練的軟體設計師和資料分析師利用它來開發應用軟體,而一些不熟練的程式設計師和非程式設計師的初級使用者則使用它來開發簡單的應用軟體。

缺點:資料儲存量小安全性不夠高,加了使用者級密碼容易破解。c/s結構下對伺服器要求很高,否則容易造成mdb損壞併發數255,但是對高強度操作適應性差,如果伺服器不夠好,網路不夠好,程式設計的方法不夠好,6-7個人同時訪問就能導致mdb損壞或者並死,不能將vba**開發的軟體系統直接編譯成exe可執行檔案,不能脫離access或者access runtime環境,該環境相對其他軟體體積較大(50m左右)。microsoft access資料庫有一定的極限,如果資料達到100m左右,很容易造成伺服器iis假死,或者消耗掉伺服器的記憶體導致伺服器崩潰。

sql server是乙個關聯式資料庫管理系統。

優點:安全性高真正的客戶機/伺服器體系結構,圖形化使用者介面,使系統管理和資料庫管理更加直觀、簡單,豐富的程式設計介面工具為使用者進行程式設計提供了更大的選擇餘地。sql server與windows nt完全整合,利用了nt的許多功能,如傳送和接受訊息,管理登入安全性等。sql server也可以很好地與microsoft backoffice產品整合。具有很好的伸縮性,可跨越多種平台使用,對web技術的支援,使使用者能夠很容易地將資料庫中的資料發布到web頁面上。sql server還提供資料倉儲功能,這個功能只在oracle和其他更昂貴的dbms中才有。

缺點:因功能強大,所以運算元據比access較為複雜

資料庫索引優劣

b tree索引 1.聚簇索引 2 資料訪問更快 3 使用覆蓋索引掃瞄的查詢可以直接使用頁面節點中的鍵值 4 極大的提高密集型應用的效能 缺點 1 插入速度嚴重依賴於插入順序。2 更新索引列的代價很高 3 容易造成頁 4 二級索引變大,包含主鍵 5 二級索引需要兩次查詢,一次查詢主鍵,一次通過主鍵查...

關係型資料庫與NoSQL資料庫的優劣

當大家學習了一定的nosql知識以後,了解了現今許多nosql資料庫 如hbase,mongodb,redis等 時,就會覺得關係型資料庫可能已經跟不上時代的步伐。其實並不然,關係型資料庫的效能絕對不差,相反它還具備了非常好的通用性和非常高的效能。nosql會如此火的原因是因為它能幹關係型資料庫某些...

資料庫中臨時表 表變數和CTE使用優劣對比

資料庫中臨時表,表變數和cte使用優勢極其區別 view sourceprint?在寫sql時經常會用到臨時表,表變數和cte,這三者在使用時各有優勢 1.臨時表 分為區域性臨時表和全域性臨時表.1.1區域性臨時表,建立時以 開頭,在系統資料庫tempdb中儲存.在當前的鏈結可見,鏈結斷開則臨時表就...