技术开发 频道

主流行式数据库评测之开源MySQL5.5版本

  四、小结

  经过这次测试,我们对MySQL数据库已经有了初步的印象,虽然和商业数据库比较,安装包体积小了很多,安装步骤也很简单,但功能还是很强大,从其文档3000多页的篇幅可以看出,能够配置和优化的部分也很多,对SQL语句的兼容性也比较好,总体性能也比较好,比如数据文件导入,在基本上相同的硬件配置下,和商业数据库相差并不多。其次,对于TPC-H这种分析型查询,在利用主外键约束后,大部分语句都能产生较好的执行计划。另外,测试过程中没有出现数据库意外崩溃的现象。此外支持的操作系统平台比较广泛,从Linux、Unix到MS Windows 32位和64位都有相应的版本,便于跨平台移植。MySQL官方还提供了图形界面的管理工具MySQL Workbench,可以提高数据库管理和开发的效率。

  存在的问题,首先,也是文章前面未曾提及的,单个查询无法使用并行,在现在大部分处理器都是多核的情况下,单进程对于批处理的分析查询显然是不太实用的,虽然并发执行多个查询可以分别使用不同的CPU,但这样又会带来I/O的竞争,限制了硬件资源的利用。其次,查询优化器虽然用到了统计信息,但基本上还是基于规则的,从添加外键后部分查询速度退化可以印证。对于一些类型的查询,比如IN 子查询类语句,执行计划不佳。需要人工修改,对开发人员的要求较高。explain显示的执行计划信息不够多,缺少成本信息,不便于分辨执行计划的优劣。对于一些复杂查询,显示执行计划的时间较长。最后,对新的SQL特性支持不够,不支持分析函数,也不支持with子查询。

  最后提一下文档和支持,MySQL的文档还是非常详细的,但本地化工作落后于多数商业数据库,好在网络上有大量关于MySQL的中文技术文章和入门教材,市场上也有不少中文出版物。这要归功于它的免费造就了大量的高水平用户,这些用户的使用经验都是很好的资源。

  总的来说,MySQL是一个功能全面,性能优良,运行稳定的主流免费数据库。虽然在分析型批处理上还有待提高,但功能和性能足以满足大部分OLTP的应用。

0
相关文章