MYSQL的历史?
MySQL的产品路线图
先说比较有影响力的MySQL版本,看看MySQL的更新。
MySQL 4.0
MySQL 4.0于2003年3月发布,这使得新的基于MySQL的应用程序得到了更广泛的应用。但是,在4.0版本中,MySQL不支持存储过程、触发器、服务器端指针或视图。MySQL 4.0由3.23发展而来,相比3.23有了很大的提升,主要适用于网站。此时,MySQL还不是一个企业数据库。
以下是MySQL 4.0的主要新特性:
全文索引:用户最期待的索引可能是全文索引。
FULLTEXT在文本字段中创建索引,这为在索引上执行布尔搜索提供了强大而灵活的机制。根据一般的开发经验,开发人员通常需要创建索引和访问文本数据,全文索引比预期的要好很多。
许多解决方案仅限于全文索引,但全文索引没有这样的限制,允许开发人员添加或拆分短语。
ANSI SQL UNION:支持ANSI SQL UNION语句,它将查询结果聚合到一个结果集中。
多表操作:可以进行多表更新和删除。
新语句:增加了一些其他DBMS用户熟悉的非标准新语句(如IDENTITY和TRUNCATE TABLE)和FOUND_ROWS()等新函数,可以返回不使用LIMIT子句可以返回的记录数。
InnoDB存储引擎:InnoDB存储引擎是当时服务器的一个标准特性,在4.0版本中成为一个附加选项。InnoDb是一种允许ACID与事务兼容的表类型,而不是默认的MyISAM表类型。可以加速一般使用,但是对于按键操作用处不大。
InnoDB表使用行级锁定,这意味着对记录的更新只锁定该记录,而不是整个表。当您选择访问大量数据库时(对于大多数网站而言),锁定整个表相当快,但是当插入和更新的数量接近选项的数量时,速度会慢一些。长期以来,对MySQL的批评都集中在MyISAM表的安全性和一致性上,兼容ACID的InnoDB表在解决这些问题上已经走了很长的路。
查询缓存:MySQL 4.0在某些情况下可以更快。这主要是通过查询缓存来实现的,查询缓存存储重复的查询结果,提高速度,虽然很多成熟的应用在一定的代码级别执行自己的查询缓存功能。一些语句的速度也有所提高。
嵌入式dedeserver: MySQL 4.0附带了一个嵌入式dedeserver库,允许应用程序使用MySQL作为底层数据库。
Latin1_de: MySQL 4.0支持额外的字符集Latin1_de,保证了德语单词的正确存储。
MyISAM:MySQL 4.0中的MyISAM表目前支持表级的符号链接,因此Windows用户可以在表级创建符号链接(这对Unix用户总是有效的)。
安全模型:MySQL 4.0的安全模型得到了增强,允许管理员更详细地授权许可。新的权限允许用户创建临时表、锁定表、执行一些复制任务、查看所有现有数据库,甚至在达到最大连接限制时进行连接——对于DBA执行紧急任务非常有用,甚至允许运行存储过程(该功能在MySQL 5中实现)。DBA还可以依靠增强的安全模式来限制每小时的连接数、更新数或查询数。
MySQL 4被设计成在Novell Netware 6.0上运行。此外,许多MySQL服务器变量可以在不重启服务器的情况下更改,这非常有用,因为重启会恢复旧的设置。
MySQL 4.1
MySQL 4.1推出后,对于部分用户来说,4.1比MySQL 4.0有着更令人兴奋的升级可能性:
MySQL 4.1支持子查询。
许多查询在没有子查询的情况下可以更有效地编写,但也有例外。子查询是标准的ANSI SQL特性。
支持Unicode (UTF-8 ),允许更广泛的国际化。
每个列、表或数据库可以设置不同的字符集,如果数据以多种语言存储,这是必要的。
支持地理数据(OpenGIS)。
增强的警告传递。如果一个不够,MySQL 4.1可以向客户端发送多个警告,这对整体数据处理非常有用。
提高了一些速度。但这些速度提升可能会被MySQL 4.1承担的所有额外部分抵消。
虽然MySQL手册是出版的最好的手册之一,但是MySQL 4.1自带的HELP命令只适用于这个版本。
支持派生表,例如:
SELECT table 1 . field 1 FROM table,(SELECT * FROM table2) table3其中table 1 . field 1 = table 3 . field 1
支持多行查询,允许多个查询运行,然后读取最终结果。
各种维护语句将被存储在二进制日志中,因此您可以在复制时简化维护任务。
创造...LIKE允许开发人员根据现有表的确切结构轻松创建新表。
此外,MySQL 4.1的三个值得注意的功能还包括:稳定的OpenSSL支持,更多的测试准备语句,更多的对一个表的多个字符集的测试。
MySQL 4.1可能是第一个真正“长大”的MySQL版本。因为4.1版本中的一些新特性和功能(比如地理数据、子选择语句和派生表),Oracle第一次开始真正关注MySQL。
MySQL 5.0
支持存储过程。存储过程是其他数据库环境中开发人员最常用的ANSI SQL标准,对于MySQL来说已经太晚了。MySQL 5.0支持的存储过程的语法类似于Oracle PL/SQL和T-SQL。
触发器(事件发生时调用存储过程)
支持指针
真正支持VARCHAR数据类型,解决了一个由来已久的MySQL VARCHAR bug。
MyISAM表中对RTREE索引的支持将使访问地理数据变得容易。
MySQL 5.1
与5.0版本相比,MySQL 5.1实现了一些新功能:
在线备份(允许您在不关闭主服务器的情况下添加复制从属服务器)。
位类型,实际占用1位而不是1个字符。
故障安全复制
网上抄的~