|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一个语句分成两个event(实际上不止,其他可以忽略),一个table_mapevent和一个Rows_log_event。Table_mapevent是一样的,主要看Rows_log_event。评价大批要素
我们将要在半途改动偏向。在这部分,我将触及与功能有关的话题。鄙人一个而且是最初一部分,我将周全研讨基准测试并以终极结论停止。
一样平常不同
分歧于PostgreSQL,MySQL和mSQL不是真实的干系数据库办理体系。我看到有人在旧事组里把MySQL称为“只是一个疾速存储工具”,而且mSQL乃至被称为了一个玩具--不敢奉承。最少mSQL完成了部分一个完全的SQLDBM应当供应的功效。
假如一团体必要一个实在的RDBMS,三者中独一可行的选择是PostgreSQL。假如盘算原始的功能体现,出格是假如对数据库所做的存取其实不庞大而且年夜多半是主动的,一个更小的体系大概更好一些。因而,mSQL和MySQL被宣扬为网数据库体系。
允许证
PostgreSQL以一个BSD作风允许证被分发,在一切相干的方面均是自在的(大概对一些狂热者来讲太自在了),假如版权声明被保存,基础上一团体能够用该软件做任何事变。
MySQL是收费的而且在某些前提下源代码同意被修正,可是克制为了贸易目标的再分发。
mSQL对非贸易性构造的利用是收费的;但在一个14天评价时代今后,购置一个允许证是需要的。
由于这些不同,在利用他们之一的企业的人们必要细心地思索允许前提。
ANSI尺度的完成
这3个体系都是在叫唤是完整完成ANSISQL尺度的,公允地讲,这在我看来有点可骇。当MySQL完成了开辟者已界说好的一个子集时,mSQL乃至没有实验真正遵守ANSI尺度。PostgreSQL最初定位在与ANSI完整兼容,可是它仍旧有一条长路要走。
PostgreSQL的确还没有撑持参考完全性(RI),可是只测试了DBMS的事件(transaction)。别的,新的SQL特性像SQLSTATE变量也没有完成。
MySQL既不撑持事件也不包管参考完全性;对事件存取数据库表能明白地为锁定息争锁。
mSQL缺少ANSISQL的年夜多半特性,它仅仅完成了一个最起码的API,没有事件和参考完全性。
APIs
一切3个体系测试的API年夜部分对处置是通明的,产生任何成绩一般是因为不准确的文档,而不是API自己。
mSQL和MySQL都没有嵌进式SQL(ESQL)预处置器功效。跟着ESQL的出生,如今我相称喜好它,可是利用mSQL和MySQL自己供应的CAPI其实不坚苦。有一样光标的寄义,但以一个分歧的办法完成,而且把字符串传送给C函数仅比在代码中利用码嵌进式SQL语句稍难一点儿。
除提到的ESQLAPI,PostgreSQL带有CAPI、C++绑定、JDBC、ODBC、Perl绑定、Python和Tcl绑定。
MySQL对Win32平台有附加的ODBC撑持;言语联编(接口)最少有C++、Eiffel、Java、Perl、Python、PHP和Tcl能够失掉。
mSQL与Lite(一品种似C的剧本言语,与分发一同刊行)严密分离,能够失掉一个称为W3-mSQL的一个网站集成包,它是JDBC、ODBC、Perl和PHPAPI。
注重我没有测试那些任何附加的绑定和特性;他们的质量和文档的表述不是很好。能取得良多对这3个体系的第三方扩大;本文不再赘述。
文档和更多
PostgreSQL以DocBookSGML格局纪录文档。手册分为办理员指南、程序员指南、用户指南和一本教程。别的,FAQ和林林总总的申明文件触及一些话题。软件的很多多少范畴缺少充足的文档。
MySQL以GNUTexinfo格局纪录文档;手册看起来完整。
mSQL有一个单个文件的手册(没有超文本),它有PostScript和HTML情势。作为能从一个贸易软件产物的的角度所希冀的,它掩盖了一切的特性。
认证和一样平常的平安
这时候我还没谈及的一个话题,可是必要在这个对照中说起的是存取认证。ANSISQL关于存取把持供应很庞大且很精巧的机制,也就是GRANT和REVOKE语句。
PostgreSQL和MySQL能了解这些尺度语句,但外部处置存取把持是分歧的。能够失掉mSQL的网站集成包中的一个认证加强程序(W3-mSQL),可是在它基础形状中,年夜多半数据库体系仿佛没有任何内置的存取把持撑持。不像safe_mysqld和postmaster,mSQL数据库保卫程序假定有root运转的,它能够大概形成平安隐患。
任何年夜型数据库都必要一个平安观点,就像它必要一个完全的数据库计划一样。不成能说他们中撑持认证体系(即PostgreSQL或MySQL)的哪个是更平安的;这里,任何事变均取决于计划。
在本系列的第四部分,本文自然者会合精神研讨DBMS的功能丈量和工具的周全总结。
对于update操作,event中依次记录旧行,新行的值。 |
|