在本节中,介绍了MySQL与ANSI/ISO SQL标准的关系。MySQL服务器有很多对SQL标准的扩展之处,这里介绍了它们是什么,以及使用它们的方法。你也能了解关于MySQL服务器缺失功能的信息,以及如何处理某些差异的方法。
SQL标准自1986年以来不断演化发展,有数种版本。在本手册中,“SQL-92”指得是1992年发布的标准,“SQL:1999”指得是1999年发布的标准,“SQL:2003”指得是标准的当前版本。我们采用术语“SQL标准”标示SQL标准的当前版本。
我们的目标是在没有良好理由的情况下不限制MySQL服务器的可用性。即使我们没有足够的资源就每种可能的应用进行开发,我们始终愿意帮助那些在新领域使用MySQL服务器的人员,并向他们提供建议。
对于该产品,我们的一项主要目标是,继续致力于与SQL标准的兼容性,但不以牺牲速度和可靠性为代价。如果它们能显著增加拥有大量用户基数的MySQL服务器的可用性,我们无惧于为SQL添加扩展,也无惧于为非SQL特性提供支持。MySQL服务器4.0中的HANDLER接口即是该策略的例子。请参见13.2.3节,“HANDLER语法”。
我们将继续支持事务性和非事务性数据库,以满足任务关键型全天候应用,以及高负载Web或日志应用。
MySQL服务器最初是为小型计算机系统上中等规模的数据库设计的(100万-1亿行,或每个表的大小为100MB)。目前,MySQL服务器能处理TB级别的数据库,也能在针对便携式设备或嵌入式设备的精简版本中使用。MySQL服务器的精简设计使得双向开发成为可能,不会在源码树中产生任何冲突。
目前,我们并未定位于实时支持,虽说MySQL复制特性提供了强大的功能。
在众多第三方簇解决方案中均有数据库簇支持特性,自4.1.2版以来,对于我们所需的NDB簇技术集成方案,同样请参见第17章:MySQL簇。