一、
1.速度:mysql运行速度快。开发者称可能是目前运行最快的数据库。
2.容易使用:mysqls是一个高性能且相对简单的数据库系统,于一些更大系统的设置和管理相比,其复杂程度低。
3.价格:mysql对大多数人来说是免费的。
4.支持查询语言:mysql可以利用sql,sql是一种现代数据库系统都选用的的语言。也可以支持odbc的应用程序。
5.性能:许多客户机可以同时连接到服务器。
6.连接性和安全性:mysql完全网络化的,其数据库可以在internet的任何角落访问。
7.可移植性:mysql可以运行在任何版本的unix以及非unix的系统。
8.开放式的分发:mysql容易获得,只要使用web浏览器就可以。开放的原代码。
二、不支持的方面
1.子查询、触发器、视图、存储过程、外部键和引用完整性、记录级权限和锁定。
2.随着版本的提高,各项功能逐步实现。

解决方案 »

  1.   

    bombshell(水中鱼)说得差不多了。
    我补充一点,4.1支持子查询、存储过程、外部键和引用完整性、记录级权限和锁定。而且4.1版很快就要出来了。使用核心线程的完全多线程。这意味着它能很容易地利用多CPU(如果有)。 
    C 、C++、 Eiffel 、 Java、 Perl、 PHP、Python、和 TCL  API。可运行在不同的平台上,
    多种列类型:1、 2、 3、4、和 8 字节长度的有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、SET和ENUM类型。 
    利用一个优化的一遍扫描多重联结(one-sweep multi-join)非常快速地进行联结(join)。 
    在查询的SELECT和WHERE部分支持全部运算符和函数,例如:
    mysql> SELECT CONCAT(first_name, " ", last_name) FROM tbl_name
               WHERE income/dependents > 10000 AND age > 30;通过一个高度优化的类库实现SQL函数库并且像他们能达到的一样快速,通常在查询初始化后不应该有任何内存分配。 
    全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数( COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、 MAX()和MIN() )。 
    支持ANSI SQL的LEFT OUTER JOIN和ODBC语法。 
    你可以在同一查询中混用来自不同数据库的表
    一个非常灵活且安全的权限和口令系统,并且它允许基于主机的认证。口令是安全的,因为当与一个服务器连接时,所有的口令传送被加密。 
    ODBC for Windiws 95。所有的 ODBC 2 . 5 函数和其他许多函数。例如,你可以用Access连接你的 MySQL服务器。
    具备索引压缩的快速B树磁盘表。 
    每个表允许有16个索引。每个索引可以由1~16个列或列的一部分组成。最大索引长度是 256 个字节(在编译MySQL时,它可以改变)。一个索引可以使用一个CHAR或VARCHAR字段的前缀。 
    定长和变长记录。 
    用作临时表的内存散列表。 
    大数据库处理。我们正在对某些包含 50,000,000 个记录的数据库使用MySQL。 
    所有列都有缺省值,你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的缺省值。 
    为了可移植性使用 GNU  Automake , Autoconf 和libtool。 
    用C和C++编写,并用大量不同的编译器测试。 
    一个非常快速的基于线程的内存分配系统。 
    没有内存漏洞。用一个商用内存漏洞监测程序测试过(purify)。 
    包括myisamchk,一个检查、优化和修复数据库表的快速实用程序,详见13 维护 MySQL安装。 
    全面支持ISO-8859-1  Latin1 字符集。例如,斯堪的纳维亚的字符 @ringaccent{a}, @"a and @"o 在表和列名字被允许。 
    所有数据以 ISO-8859-1  Latin1 格式保存。所有正常的字符串比较是忽略大小写的。 
    根据 ISO-8859-1  Latin1 字符集进行排序(目前瑞典语的方式)。通过在源代码中增加排序顺序数组可以改变它。为了理解一个更高级的排序例子,看一看捷克语的排序代码。MySQL支持可在编译时指定的很多不同的字符集。 
    表和列的别名符合 SQL92 标准。 
    DELETE、INSERT、REPLACE和UPDATE 返回有多少行被改变(受影响)。 
    函数名不会与表或列名冲突。例如ABS是一个有效的列名字。对函数调用的唯一限制是函数名与随后的“(”不能有空格。详见7.31 MySQL对保留字很挑剔吗?。 
    所有MySQL程序可以用选项--help或-?获得联机帮助。 
    服务器能为客户提供多种语言的出错消息
    客户端使用TCP/IP 连接或Unix套接字(socket)或NT下的命名管道连接MySQL。 
    MySQL特有的SHOW命令可用来检索数据库、表和索引的信息,EXPLAIN命令可用来确定优化器如何解决一个查询。