1. Oracle跨平臺,SQL
為義烏等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及義烏網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、義烏網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
Server只能運(yùn)行在Windows上,而Windows能夠安裝的硬件是有限的,如Sun的Sparc服務(wù)器不能安裝Windows,一些大型機(jī)、小型機(jī)也只能裝UNIX,在這些高端機(jī)器上就只能跑Oracle了,這注定了Oracle就是高端數(shù)據(jù)庫,而SQL
Server呢,中低端。
2. Oracle真正實(shí)現(xiàn)了行級鎖,SQL
Server也宣稱實(shí)現(xiàn)了行級鎖,但你實(shí)際去試,如果不加索引,其實(shí)是不行的。
3. Oracle因?yàn)橛卸喟姹緮?shù)據(jù)的技術(shù),讀寫操作不會相互等待,雖然SQL
Server
2005學(xué)習(xí)Oracle增加了snapshot機(jī)制,從而也引進(jìn)了多版本數(shù)據(jù)(MySQL也有多版本數(shù)據(jù)機(jī)制,不能說一定是學(xué)習(xí)Oracle),但是實(shí)際效果感覺就是2個版本的數(shù)據(jù),隔離級別為read
committed時候,讀寫不再相互等待,但是把隔離設(shè)置為Serializable還是會產(chǎn)生讀寫相互等待。
4. Oracle的事務(wù)日志歸檔相當(dāng)方便,而SQL
Server要用事務(wù)日志備份來實(shí)現(xiàn),而且還要配置自動作業(yè),啟動agent服務(wù)。
5. Oracle的數(shù)據(jù)字典豐富,使得DBA容易判斷數(shù)據(jù)庫的各種情況,雖然SQL
Server
2005學(xué)習(xí)了Oracle的數(shù)據(jù)字典的特點(diǎn),但從數(shù)量及方便程度上還是相差太多。個人感覺這是Oracle最人性化的地方。
6. Oracle的PL/SQL比SQL
Server的T-SQL功能強(qiáng)大很多。
7. Oracle的觸發(fā)器比SQL
Server的種類多幾種。
8. oracle的備份恢復(fù)原理相當(dāng)簡單明了,備份就在操作系統(tǒng)上拷貝數(shù)據(jù)文件好了,恢復(fù)呢,再拷貝回來,數(shù)據(jù)是舊的,不怕,應(yīng)用重做日志好了。SQL Server呢,雖然原理在本質(zhì)上還是這些,但操作起來麻煩多了,麻煩到讓你體會不到其本質(zhì)。
9. Oracle數(shù)據(jù)庫啟動可以有多個階段,使得DBA可以在不同的情況下,通過啟動到特定的階段解決一些特殊問題,而SQL Server只要服務(wù)一啟動,所有數(shù)據(jù)庫就都打開了。
10. SQL Server給人的感覺是簡單易用,但是我要說,如果你繼續(xù)向前走,就會發(fā)現(xiàn)SQL Server的體系結(jié)構(gòu)相當(dāng)復(fù)雜(注意我這里是說的復(fù)雜),大體還是沿襲的Sybase的體系結(jié)構(gòu),這種復(fù)雜結(jié)構(gòu),估計(jì)很難有根本性的改變,而Oracle呢,時間越長你越會覺得其體系結(jié)構(gòu)嚴(yán)謹(jǐn),雖然開始會感覺很難。我的一個比喻,SQL Server是傻瓜相機(jī)(就是那些一兩千的小數(shù)碼),Oracle是單反相機(jī)(40D,5D,D300),如果你是入門者,那用傻瓜相機(jī)好了,在各種環(huán)境下拍攝,基本都過得去,用單反,光圈、快門都要自己設(shè)定,反倒不如傻瓜相機(jī)的效果,如果你是高手了,那傻瓜相機(jī)就很難得心應(yīng)手了。
11. Oracle的書籍一般都比較深,隨便一說就是一大批,Epert Oracle、Practical Oracle 8i、Cost-based Oracle,SQL Server呢,恐怕只有那套Inside SQL Server了,雖然SQL Server的書籍?dāng)?shù)量比Oracle的多的多(特別是在國內(nèi)),但多數(shù)都是step by step的入門書。
12. 對比SQL*Plus與sqlcmd(或2000的osql,6.5的isql),sqlcmd的功能是太簡陋,差得太多了。
13. SQLServer的最大優(yōu)點(diǎn)就是和Windows結(jié)合緊密,易用,但是要注意事情都是兩面的,這些優(yōu)點(diǎn)可能導(dǎo)致其致命的缺點(diǎn),例如易用,使得搞SQL Server的人可以不求甚解,有時候不求甚解是沒問題的,但是有時候不求甚解可能會造成災(zāi)難,特別是對搞數(shù)據(jù)庫的人來說。不好意思,本來要說SQL Server的優(yōu)點(diǎn)呢,最后也成了缺點(diǎn)了。
Microsoft SQL Server 2000 能提供超大型系統(tǒng)所需的數(shù)據(jù)庫服務(wù)。大型服務(wù)器可能有成千上萬的用戶同時連接到 SQL Server 2000 實(shí)例。SQL Server 2000 為這些環(huán)境提供了全面的保護(hù),具有防止問題發(fā)生的安全措施,例如,可以防止多個用戶試圖同時更新相同的數(shù)據(jù)。SQL Server 2000 還在多個用戶之間有效地分配可用資源,比如內(nèi)存、網(wǎng)絡(luò)帶寬和磁盤 I/O。
超大型 Internet 站點(diǎn)可將其數(shù)據(jù)分開存放在多臺服務(wù)器上,從而使處理負(fù)荷分散到多臺計(jì)算機(jī)上,使站點(diǎn)能為成千上萬的并發(fā)用戶提供服務(wù)。
可以在一臺計(jì)算機(jī)上運(yùn)行多個 SQL Server 2000 實(shí)例。例如,一個為其它許多組織提供數(shù)據(jù)庫服務(wù)的組織可為每個客戶組織單獨(dú)運(yùn)行一個 SQL Server 2000 實(shí)例,而全部實(shí)例可集中在一臺計(jì)算機(jī)上。這樣,既隔開了每個客戶組織的數(shù)據(jù),同時又使服務(wù)組織只需管理一臺服務(wù)器計(jì)算機(jī)從而減少了費(fèi)用。
SQL Server 2000 應(yīng)用程序可在裝有 SQL Server 2000 的計(jì)算機(jī)上運(yùn)行。該應(yīng)用程序通過 Windows 進(jìn)程間通訊 (IPC) 組件(例如共享內(nèi)存)而非通過網(wǎng)絡(luò)連接到 SQL Server 2000。這使 SQL Server 2000 得以應(yīng)用于應(yīng)用程序必須在本地存儲數(shù)據(jù)的小型系統(tǒng)中。
大型 Web 站點(diǎn)和企業(yè)級數(shù)據(jù)處理系統(tǒng)通常會生成大量的數(shù)據(jù)庫處理,超出了一臺計(jì)算機(jī)的支持能力。在這些大型系統(tǒng)中,數(shù)據(jù)庫服務(wù)由組成數(shù)據(jù)庫服務(wù)層的一組數(shù)據(jù)庫服務(wù)器提供。SQL Server 2000 不支持采用平衡負(fù)荷的聚集形式建立數(shù)據(jù)庫服務(wù)層,但支持跨自主服務(wù)器組分存數(shù)據(jù)的機(jī)制。盡管每個服務(wù)器需分開管理,但組內(nèi)的各個服務(wù)器可共同分擔(dān)數(shù)據(jù)庫處理負(fù)荷。共享同一工作負(fù)荷的一組自主服務(wù)器稱為服務(wù)器聯(lián)合體。
a.真正的客戶/服務(wù)器體系結(jié)構(gòu);
在這種體系結(jié)構(gòu)中,包括多臺計(jì)算機(jī),其中處理應(yīng)用程序,請求服務(wù)的計(jì)算機(jī)稱客戶機(jī),處理數(shù)據(jù)庫的計(jì)算機(jī)稱為服務(wù)器。
b.圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單;
提供了表、視圖和查詢定義的圖形界面,在Query Analyze的圖形界面中使用SQL語言,服務(wù)器和數(shù)據(jù)庫的用戶配置的圖形化界面。
c.豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地;
SQLServer提供了豐富的應(yīng)用程序接口來訪問服務(wù)器的數(shù)據(jù),主要的訪問方法有:ODBC API、OLE DB、Transact-SQL和DB-Library,客戶機(jī)可以通過這些API作為動態(tài)連接庫來使用,并通過客戶端的網(wǎng)絡(luò)庫與SQLServer服務(wù)器通信。
d.SQL Server與Windows NT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等;
與NT的安全性系統(tǒng)集成,利用NT的安全機(jī)制為服務(wù)器服務(wù),利用NT的性能監(jiān)測器和使用MS Index Server;與MS BackOffice產(chǎn)品集成,如MS IIS、MS Exchange Server等結(jié)合。SQLServer可以設(shè)置為用Exchange接收和發(fā)送電子郵件,用戶可以通過郵件信息向SQLServer發(fā)送查詢請求,查詢結(jié)果能夠通過電子郵件返回給用戶。
e.具有很好的伸縮性,可跨越從運(yùn)行Windows95/98的膝上型電腦到運(yùn)行Windows2000的大型多處理器等多種平臺使用;
MS提供了一種單一的數(shù)據(jù)庫引擎,可以用于Windows95到Windows2000大字節(jié)對稱多處理器集群的各種場合。NT和SQL不僅支持IntelCPU,而且支持DEC Alpha CPU等處理器。
f.對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上;
在Web Assistant中可以將數(shù)據(jù)庫表中的數(shù)據(jù)引出來,還可以將HTML中的數(shù)據(jù)引入到數(shù)據(jù)庫中。SQLServer的數(shù)據(jù)可以自動發(fā)行到Web頁上;用戶可以通過一個普通的瀏覽器來查詢存儲在SQLServer中的信息,因此可以用存儲在SQLServer中的信息創(chuàng)建動態(tài)Web頁。
g.SQL Server提供數(shù)據(jù)倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。
SQL Server2000中包括吸取和分析匯總數(shù)據(jù)以進(jìn)行聯(lián)機(jī)分析處理(OLAP)的工具,還包括一些工具可用于直觀地設(shè)計(jì)數(shù)據(jù)庫并通過English Query來分析數(shù)據(jù)。當(dāng)同一數(shù)據(jù)庫在同一時間用于完成兩個任務(wù)時(輸入事務(wù)和運(yùn)行查詢),數(shù)據(jù)庫功能將受到很大影響,在一個大范圍的查詢可能需要運(yùn)行幾個小時,會鎖定許多記錄,這時數(shù)據(jù)輸入就無法操作,為防止這種沖突,數(shù)據(jù)通常被拷貝到單獨(dú)的數(shù)據(jù)庫中,稱為數(shù)據(jù)中心或數(shù)據(jù)倉庫;一個數(shù)據(jù)中心通常包括一個企業(yè)所有待分析數(shù)據(jù)的一個子集一個數(shù)據(jù)倉庫實(shí)質(zhì)上通常包含了一個機(jī)構(gòu)希望查詢的所有數(shù)據(jù)。
SQL Server2000的特性:
a.支持XML(Extensive Markup Language,擴(kuò)展標(biāo)記語言)
SQLServer2000數(shù)據(jù)庫引擎提供完整的XML支持,通過URL(Uniform Resource Locator,統(tǒng)一資源定位器)訪問SQLServer,支持XML-Data模式,使用HTTP、ADO或OLE DB處理SQL Server2000的XML功能,如定義Server2000數(shù)據(jù)庫的XML視圖;可以通過XML對數(shù)據(jù)庫表中的數(shù)據(jù)進(jìn)行操作,插入、更新或刪除,包括在單個操作中修改多個表中的多行。
b.強(qiáng)大的基于Web的分析
SQLServer2000能夠分析和鏈接現(xiàn)存的在線分析處理(OLAP)管道,甚至在Web上也可以做到。
c.支持OLE DB和多種查詢
SQLServer2000包括了一個本地的OLE DB提供器。OLE DB與ADO對象模型一同使用,可以執(zhí)行多種查詢功能,能夠自由訪問關(guān)系數(shù)據(jù)庫的數(shù)據(jù)和非關(guān)系類型數(shù)據(jù)源數(shù)據(jù)庫,如從文本文件中讀取數(shù)據(jù),還可以從窗體或電子函件中讀取數(shù)據(jù)。
d.支持分布式的分區(qū)查詢
SQL Server2000可以完全滿足決策支持系統(tǒng)(DSS)的需求,分布式數(shù)據(jù)庫分區(qū)視圖可以把工作負(fù)載劃分到多個獨(dú)立的SQL Server服務(wù)器上,從而為實(shí)施電子商務(wù)的客戶提供了無限制的可擴(kuò)展性。
MySQL的優(yōu)點(diǎn):
1. 它使用的核心線程是完全多線程,支持多處理器。
2. 有多種列類型:1、2、3、4、和8字節(jié)長度自有符號/無符號整數(shù)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM類型。
3. 它通過一個高度優(yōu)化的類庫實(shí)現(xiàn)SQL函數(shù)庫并像他們能達(dá)到的一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配。沒有內(nèi)存漏洞。
4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函數(shù)(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查詢中混來自不同數(shù)據(jù)庫的表。
5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。
6. 所有列都有缺省值。你可以用INSERT插入一個表列的子集,那些沒用明確給定值的列設(shè)置為他們的決省值。
7. MySQL可以工作在不同的平臺上。支持C、C++、Java、Perl、PHP、Python和TCL API。
(2) MySQL的缺點(diǎn):
1、 MySQL最大的缺點(diǎn)是其安全系統(tǒng),主要是復(fù)雜而非標(biāo)準(zhǔn),另外只有到調(diào)用mysqladmin來重讀用戶權(quán)限時才發(fā)生改變。
2、 MySQL的另一個主要的缺陷之一是缺乏標(biāo)準(zhǔn)的RI(Referential Integrity-RI)機(jī)制;Rl限制的缺乏(在給定字段域上的一種固定的范圍限制)可以通過大量的數(shù)據(jù)類型來補(bǔ)償。
3、 MySQL沒有一種存儲過程(Stored Procedure)語言,這是對習(xí)慣于企業(yè)級數(shù)據(jù)庫的程序員的最大限制。
4、 MySQL不支持熱備份。
5、 MySQL的價格隨平臺和安裝方式變化。Linux的MySQL如果由用戶自己或系統(tǒng)管理員而不是第三方安裝則是免費(fèi)的,第三方案則必須付許可費(fèi)。Unix或Linux 自行安裝 免費(fèi) 、Unix或Linux 第三方安裝 200美元,
SQL Server的優(yōu)點(diǎn)眾多,但是Microsoft SQL Server和其他數(shù)據(jù)庫產(chǎn)品相比也存在著以下劣勢:
1開放性。只能運(yùn)行在微軟的windows平臺,沒有絲毫的開放性可言。
2可伸縮性,并行性。并行實(shí)施和共存模型并不成熟,很難處理日益增多的用戶數(shù)和數(shù)據(jù)卷,伸縮性有限。
3性能穩(wěn)定性。SQLServer當(dāng)用戶連接多時性能會變的很差,并且不夠穩(wěn)定。
4使用風(fēng)險。SQLServer完全重寫的代碼,經(jīng)歷了長期的測試,不斷延遲,許多功能需時間來證明。并不十分兼容早期產(chǎn)品。使用需要冒一定風(fēng)險。
5客戶端支持及應(yīng)用模式。只支持C/S模式。