MySQL的產(chǎn)品路線圖
讓我們先從MySQL的較有影響的版本產(chǎn)品開始,看一下MySQL的更新?lián)Q代。
MySQL 4.0
MySQL 4.0是在2003年3月發(fā)布的,該版本使新的基于MySQL的應(yīng)用程序獲得了更廣泛的應(yīng)用。但是在4.0版中,MySQL不支持存儲(chǔ)過程、觸發(fā)程序、服務(wù)器端指針或視圖。MySQL 4.0是從3.23發(fā)展而來,較之3.23版本有了很大的提高,主要適用于Web站點(diǎn),這時(shí)候的MySQL還不是一個(gè)企業(yè)級數(shù)據(jù)庫。
以下是MySQL 4.0的主要新特性:
FULLTEXT索引:最值得用戶期待的可能就是FULLTEXT索引。
FULLTEXT在文本字段創(chuàng)建索引,為對該索引執(zhí)行布爾搜索提供了一個(gè)強(qiáng)大而靈活的機(jī)制。依照一般的開發(fā)經(jīng)驗(yàn),開發(fā)人員通常必須創(chuàng)建索引并訪問文本數(shù)據(jù),而FULLTEXT索引比想象中的還要好得多。
許多解決方案僅限于全字索引,F(xiàn)ULLTEXT索引沒有這種限制,允許開發(fā)人員添加或拆分詞組。
ANSI SQL UNION:支持ANSI SQL UNION語句,該語句將詢問結(jié)果匯集到一個(gè)結(jié)果集。
多表操作:可以執(zhí)行多表UPDATE和DELETE。
新語句:增加了其他DBMS用戶所熟悉的一些非標(biāo)準(zhǔn)的新語句(如IDENTITY和TRUNCATE TABLE),以及FOUND_ROWS()等新功能,這些功能可以返回?zé)o需LIMIT子句就能返回的紀(jì)錄的編號。
InnoDB存儲(chǔ)引擎:InnoDB存儲(chǔ)引擎在當(dāng)時(shí)作為服務(wù)器的標(biāo)準(zhǔn)特性,在4.0版本中成為一個(gè)附加選項(xiàng)。InnoDb是允許ACID兼容事務(wù)的表類型,而非默認(rèn)的MyISAM表類型,它可以加快一般性使用的速度,但對于關(guān)鍵操作不是十分有用。
InnoDB表使用行級別鎖定特性,這意味著對一個(gè)記錄的更新只鎖定該記錄,而不是整個(gè)表。當(dāng)選擇訪問大量的數(shù)據(jù)庫時(shí)(對于大多數(shù)Web站點(diǎn)而言),鎖定整個(gè)表相當(dāng)快,但是當(dāng)插入和更新的數(shù)量接近于選項(xiàng)的數(shù)量時(shí),則速度較慢。長期以來,對MySQL的批評一直集中在MyISAM表的安全性和一致性問題,兼容ACID的InnoDB表在解決這些問題上走過了很長一段路。
查詢緩存:MySQL 4.0在某些情況下可以更快捷。這主要通過查詢緩存得以實(shí)現(xiàn),它將重復(fù)的查詢結(jié)果存儲(chǔ)起來,使速度得以提高,盡管許多成熟的應(yīng)用程序在某個(gè)代碼級別上執(zhí)行自己的查詢緩存功能。某些語句在速度上也有所提高。
Embededded Server:MySQL 4.0附帶了一個(gè)Embededded Server庫,允許應(yīng)用程序以MySQL作為底層數(shù)據(jù)庫。
latin1_de :MySQL 4.0支持一個(gè)額外字符集latin1_de,它可確保正確存儲(chǔ)德語單詞。
MyISAM:MySQL 4.0中的MyISAM表目前在表級別上支持符號鏈接,所以Windows用戶可以在表級別上創(chuàng)建符號鏈接(這對于Unix用戶始終有效)。
安全模型:MySQL 4.0的安全模型得到了增強(qiáng),允許管理員更加細(xì)致地授權(quán)許可。新的權(quán)限允許用戶創(chuàng)建臨時(shí)表、鎖定表、執(zhí)行某些復(fù)制任務(wù)、查看所有現(xiàn)有的數(shù)據(jù)庫,甚至在達(dá)到最大連接限度時(shí)還能進(jìn)行連接——對于DBA執(zhí)行緊急任務(wù)非常有用,甚至允許運(yùn)行存儲(chǔ)過程(在MySQL 5中實(shí)現(xiàn)了此功能)。DBA依靠增強(qiáng)的安全模式也可以限制用戶每小時(shí)的連接、更新或查詢次數(shù)。
MySQL 4設(shè)計(jì)運(yùn)行在Novell Netware 6.0之上。另外,MySQL服務(wù)器變量中有不少可以在不重新啟動(dòng)服務(wù)器的情況下進(jìn)行更改,由于重新啟動(dòng)會(huì)恢復(fù)舊的設(shè)置,因此這個(gè)特性非常有用。
MySQL 4.1
MySQL 4.1推出之后,對于某些用戶而言,4.1比MySQL 4.0具有更激動(dòng)人心的升級可能:
MySQL 4.1支持子查詢。
不使用子查詢時(shí),許多查詢可以更有效地編寫,但是會(huì)有例外。子查詢是標(biāo)準(zhǔn)ANSI SQL特性。
支持Unicode (UTF-8),允許更廣泛地進(jìn)行國際化。
每個(gè)列、表或數(shù)據(jù)庫都可以設(shè)置不同的字符集,如果以多種語言存儲(chǔ)數(shù)據(jù),這就很有必要了。
支持地理數(shù)據(jù)(OpenGIS)。
增強(qiáng)的警告發(fā)送。如果一個(gè)不夠,MySQL 4.1可以將多個(gè)警告發(fā)送到客戶端,這樣就對于整體數(shù)據(jù)處理十分有用。
提高了一些速度。但這些速度提高可能被MySQL 4.1所承擔(dān)的所有額外部分抵消。
盡管MySQL手冊是發(fā)布的最好手冊之一,MySQL 4.1還是附帶了僅適用于該版本的HELP命令。
支持派生表,例如:
SELECT table1.field1 FROM table, (SELECT * FROM table2) table3 WHERE table1.field1=table3.field1
支持多行查詢,允許運(yùn)行多個(gè)查詢,然后讀取最終結(jié)果。
各種維護(hù)語句將存入二進(jìn)制日志中,在復(fù)制時(shí)您可以簡化維護(hù)任務(wù)。
CREATE...LIKE允許開發(fā)人員按現(xiàn)有表的精確結(jié)構(gòu)輕松地創(chuàng)建新表。
另外,MySQL 4.1的三個(gè)顯著功能包括:穩(wěn)定的OpenSSL支持、更多的測試準(zhǔn)備語句、更多的測試一個(gè)表的多個(gè)字符集。
MySQL 4.1或許是第一個(gè)實(shí)際“長大成人”的MySQL版本。由于4.1版本中一些新增加的特性和功能(例如地理數(shù)據(jù)、子選擇語句、派生表),Oracle第一次開始真正關(guān)注MySQL。
MySQL 5.0
支持存儲(chǔ)過程。存儲(chǔ)過程是一個(gè)開發(fā)人員在其他數(shù)據(jù)庫環(huán)境最常用的ANSI SQL標(biāo)準(zhǔn),對于MySQL來說,這已經(jīng)姍姍來遲了。MySQL 5.0所支持的存儲(chǔ)過程的語法類似于Oracle PL/SQL和T-SQL。
觸發(fā)程序(發(fā)生某個(gè)事件時(shí)所稱的存儲(chǔ)過程)
支持指針
真正支持VARCHAR數(shù)據(jù)類型,解決了一個(gè)長期存在的MySQL VARCHAR bug。
在MyISAM表中對RTREE索引的支持,將使訪問地理數(shù)據(jù)變得很容易。
MySQL 5.1
相對于5.0版本,MySQL 5.1實(shí)現(xiàn)了一些新的功能:
聯(lián)機(jī)備份(允許添加replication slave,而不必關(guān)閉主服務(wù)器)。
BIT類型,實(shí)際占用1位,而不是1個(gè)字符。
失敗保護(hù)(failsafe)復(fù)制
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com