MySQL的優(yōu)點(diǎn):
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、庫(kù)倫網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為庫(kù)倫等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
1. 它使用的核心線程是完全多線程,支持多處理器。
2. 有多種列類型:1、2、3、4、和8字節(jié)長(zhǎng)度自有符號(hào)/無符號(hào)整數(shù)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM類型。
3. 它通過一個(gè)高度優(yōu)化的類庫(kù)實(shí)現(xiàn)SQL函數(shù)庫(kù)并像他們能達(dá)到的一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配。沒有內(nèi)存漏洞。
4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函數(shù)(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查詢中混來自不同數(shù)據(jù)庫(kù)的表。
5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。
6. 所有列都有缺省值。你可以用INSERT插入一個(gè)表列的子集,那些沒用明確給定值的列設(shè)置為他們的決省值。
7. MySQL可以工作在不同的平臺(tái)上。支持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)限時(shí)才發(fā)生改變。
2、 MySQL的另一個(gè)主要的缺陷之一是缺乏標(biāo)準(zhǔn)的RI(Referential Integrity-RI)機(jī)制;Rl限制的缺乏(在給定字段域上的一種固定的范圍限制)可以通過大量的數(shù)據(jù)類型來補(bǔ)償。
3、 MySQL沒有一種存儲(chǔ)過程(Stored Procedure)語言,這是對(duì)習(xí)慣于企業(yè)級(jí)數(shù)據(jù)庫(kù)的程序員的最大限制。
4、 MySQL不支持熱備份。
5、 MySQL的價(jià)格隨平臺(tái)和安裝方式變化。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ù)庫(kù)產(chǎn)品相比也存在著以下劣勢(shì):
1開放性。只能運(yùn)行在微軟的windows平臺(tái),沒有絲毫的開放性可言。
2可伸縮性,并行性。并行實(shí)施和共存模型并不成熟,很難處理日益增多的用戶數(shù)和數(shù)據(jù)卷,伸縮性有限。
3性能穩(wěn)定性。SQLServer當(dāng)用戶連接多時(shí)性能會(huì)變的很差,并且不夠穩(wěn)定。
4使用風(fēng)險(xiǎn)。SQLServer完全重寫的代碼,經(jīng)歷了長(zhǎng)期的測(cè)試,不斷延遲,許多功能需時(shí)間來證明。并不十分兼容早期產(chǎn)品。使用需要冒一定風(fēng)險(xiǎn)。
5客戶端支持及應(yīng)用模式。只支持C/S模式。
mysql小巧,功能強(qiáng)大,可跨平臺(tái)。sqlserver適中,功能強(qiáng)大,不可跨平臺(tái)。oracle大,功能強(qiáng)大,可跨平臺(tái)。mysql沒有行級(jí)check,sqlserver與oracle有。在分頁(yè)查詢上mysql最為簡(jiǎn)單limit即可處理分頁(yè)查詢。mysql有字符集設(shè)定。而sqlserver與oracle是自適應(yīng)的。其它還有很多的不同與相同。不過都是關(guān)系型數(shù)據(jù)庫(kù)。都采用了structured
query
language的規(guī)范。所以相似度在70-80%,ddl/dml等語句基本相同。價(jià)格上,mysql免費(fèi)開源、sqlserver貴不開源與oracle非企業(yè)級(jí)免費(fèi)
DB2跟ORACLE都是存儲(chǔ)大型數(shù)據(jù)的但是基本用ORACLE。SQLSERVER的話中型數(shù)據(jù)一般小型網(wǎng)站夠用但是數(shù)據(jù)交互較大的話建議使用ORACLE數(shù)據(jù)庫(kù)DB2很少見啊,oracle是大型數(shù)據(jù)才使用的,sqlserver中型的
1. Oracle跨平臺(tái),SQL
Server只能運(yùn)行在Windows上,而Windows能夠安裝的硬件是有限的,如Sun的Sparc服務(wù)器不能安裝Windows,一些大型機(jī)、小型機(jī)也只能裝UNIX,在這些高端機(jī)器上就只能跑Oracle了,這注定了Oracle就是高端數(shù)據(jù)庫(kù),而SQL
Server呢,中低端。
2. Oracle真正實(shí)現(xiàn)了行級(jí)鎖,SQL
Server也宣稱實(shí)現(xiàn)了行級(jí)鎖,但你實(shí)際去試,如果不加索引,其實(shí)是不行的。
3. Oracle因?yàn)橛卸喟姹緮?shù)據(jù)的技術(shù),讀寫操作不會(huì)相互等待,雖然SQL
Server
2005學(xué)習(xí)Oracle增加了snapshot機(jī)制,從而也引進(jìn)了多版本數(shù)據(jù)(MySQL也有多版本數(shù)據(jù)機(jī)制,不能說一定是學(xué)習(xí)Oracle),但是實(shí)際效果感覺就是2個(gè)版本的數(shù)據(jù),隔離級(jí)別為read
committed時(shí)候,讀寫不再相互等待,但是把隔離設(shè)置為Serializable還是會(huì)產(chǎn)生讀寫相互等待。
4. Oracle的事務(wù)日志歸檔相當(dāng)方便,而SQL
Server要用事務(wù)日志備份來實(shí)現(xiàn),而且還要配置自動(dòng)作業(yè),啟動(dòng)agent服務(wù)。
5. Oracle的數(shù)據(jù)字典豐富,使得DBA容易判斷數(shù)據(jù)庫(kù)的各種情況,雖然SQL
Server
2005學(xué)習(xí)了Oracle的數(shù)據(jù)字典的特點(diǎn),但從數(shù)量及方便程度上還是相差太多。個(gè)人感覺這是Oracle最人性化的地方。
6. Oracle的PL/SQL比SQL
Server的T-SQL功能強(qiáng)大很多。
7. Oracle的觸發(fā)器比SQL
Server的種類多幾種。
8. oracle的備份恢復(fù)原理相當(dāng)簡(jiǎn)單明了,備份就在操作系統(tǒng)上拷貝數(shù)據(jù)文件好了,恢復(fù)呢,再拷貝回來,數(shù)據(jù)是舊的,不怕,應(yīng)用重做日志好了。SQL Server呢,雖然原理在本質(zhì)上還是這些,但操作起來麻煩多了,麻煩到讓你體會(huì)不到其本質(zhì)。
9. Oracle數(shù)據(jù)庫(kù)啟動(dòng)可以有多個(gè)階段,使得DBA可以在不同的情況下,通過啟動(dòng)到特定的階段解決一些特殊問題,而SQL Server只要服務(wù)一啟動(dòng),所有數(shù)據(jù)庫(kù)就都打開了。
10. SQL Server給人的感覺是簡(jiǎn)單易用,但是我要說,如果你繼續(xù)向前走,就會(huì)發(fā)現(xiàn)SQL Server的體系結(jié)構(gòu)相當(dāng)復(fù)雜(注意我這里是說的復(fù)雜),大體還是沿襲的Sybase的體系結(jié)構(gòu),這種復(fù)雜結(jié)構(gòu),估計(jì)很難有根本性的改變,而Oracle呢,時(shí)間越長(zhǎng)你越會(huì)覺得其體系結(jié)構(gòu)嚴(yán)謹(jǐn),雖然開始會(huì)感覺很難。我的一個(gè)比喻,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的多的多(特別是在國(guó)內(nèi)),但多數(shù)都是step by step的入門書。
12. 對(duì)比SQL*Plus與sqlcmd(或2000的osql,6.5的isql),sqlcmd的功能是太簡(jiǎn)陋,差得太多了。
13. SQLServer的最大優(yōu)點(diǎn)就是和Windows結(jié)合緊密,易用,但是要注意事情都是兩面的,這些優(yōu)點(diǎn)可能導(dǎo)致其致命的缺點(diǎn),例如易用,使得搞SQL Server的人可以不求甚解,有時(shí)候不求甚解是沒問題的,但是有時(shí)候不求甚解可能會(huì)造成災(zāi)難,特別是對(duì)搞數(shù)據(jù)庫(kù)的人來說。不好意思,本來要說SQL Server的優(yōu)點(diǎn)呢,最后也成了缺點(diǎn)了。
每一次都要根據(jù)where條件進(jìn)行查詢,但是也能跳過這個(gè)缺點(diǎn)。生成臨時(shí)表再利用臨時(shí)表進(jìn)行游標(biāo)就行了。
優(yōu)點(diǎn)都特別明顯:SQL SERVER基于Windows系統(tǒng),在Windows系統(tǒng)上是無敵的選擇,而且有免費(fèi)版本。oracle基于Linux設(shè)計(jì),老牌產(chǎn)品質(zhì)量比較好,一般是和JAVA平臺(tái)配合生產(chǎn),價(jià)格比較昂貴。mysql在這三者中,是最輕量級(jí)的數(shù)據(jù)庫(kù),性能非常好,很多大型在線網(wǎng)絡(luò)游戲都選擇它,免費(fèi)和收費(fèi)版本都有。