MySQL Server经过Purify(一款商业内存泄漏检测工具)和Valgrind(一款GPL工具)的测试
采用多层独立模块的服务器设计。
MySQL Server被设计为完全多线程,并使用内核线程,以便在有多个可用的CPU时轻松利用它们。
MySQL Server提供事务性和非事务性存储引擎。
MySQL Server使用非常快速的B-tree磁盘表(MyISAM),并支持索引压缩功能。
MySQL Server的设计目标是相对容易地添加其他存储引擎。这在您想要为内部数据库提供SQL接口时非常有用。
MySQL Server使用非常快速的基于线程的内存分配系统。
MySQL Server使用优化的嵌套循环连接来执行非常快速的连接操作。
MySQL Server实现了基于内存的哈希表,用作临时表。
MySQL Server使用高度优化的类库来实现SQL函数,旨在尽可能提供更快的执行速度。通常,在查询初始化后几乎没有任何内存分配。
MySQL Server作为一个独立的程序提供,用于在客户端/服务器网络环境中使用。
数据类型
MySQL Server提供了多种数据类型,包括有符号/无符号整数(1、2、3、4和8字节长)、FLOAT、DOUBLE、CHAR、VARCHAR、BINARY、VARBINARY、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、SET、ENUM以及OpenGIS空间类型。这些不同的数据类型允许在数据库中存储和处理各种不同类型的数据。
MySQL Server还提供了固定长度和可变长度的字符串类型。
语句和函数
在查询的SELECT列表和WHERE子句中,完全支持运算符和函数。例如:
sql复制代码
mysql> SELECT CONCAT(first_name, ' ', last_name)
-> FROM citizen
-> WHERE income/dependents > 10000 AND age > 30;
MySQL Server具有函数名称与表或列名称相互独立的特性。例如,ABS可以作为一个有效的列名。唯一的限制是在函数调用时,函数名称与紧随其后的 "(" 之间不允许有空格。这使得函数名称可以与表和列的命名不冲突,方便了查询和数据处理中函数的使用。
在同一条语句中,可以引用不同数据库中的表。
安全
MySQL Server提供了一个灵活且安全的权限和密码系统,可以进行主机基础的验证。
连接到服务器时,通过对所有密码流量进行加密来确保密码的安全性。
可扩展性和限制
MySQL Server支持大型数据库。我们可以使用MySQL Server管理包含5000万条记录的数据库。我们也知道一些用户使用MySQL Server管理具有20万个表和约50亿行的数据库。
MySQL Server支持每个表最多64个索引。每个索引可以由1到16个列或列的部分组成。对于InnoDB表,索引的最大宽度要么是767字节,要么是3072字节,具体取决于配置。对于MyISAM表,索引的最大宽度为1000字节。对于CHAR、VARCHAR、BLOB或TEXT列类型,索引可以使用列的前缀来索引。
MySQL Connector/NET允许开发人员轻松创建需要与MySQL进行安全、高性能数据连接的.NET应用程序。它实现了所需的ADO.NET接口,并集成到支持ADO.NET的工具中。开发人员可以使用他们选择的.NET语言构建应用程序。MySQL Connector/NET是一个完全托管的ADO.NET驱动程序,使用100%纯C#编写。请参阅"MySQL Connector/NET开发人员指南"了解更多信息。