《MySQL高效编程》一一1.3 认识MySQL数据库
本节书摘来自异步社区出版社《MySQL高效编程》一书中的第1章,第1.3节,作者: 王志刚 , 江友华,更多章节内容可以访问云栖社区“异步社区”公众号查看。
MySQL高效编程
在进行实际的数据库操作前,先了解一下MySQL数据库还是有必要的,包括我们要选择MySQL数据库的理由。
MySQL首先是关系数据库(RDBMS),是世界上最流行的开放源码的数据库软件。那么,什么是开放源码呢?
在第1章中,我们已经列出现在比较常用的数据库产品。像Oracle和SQL Server是商用数据库,需要授权才可以使用的,也就是说使用前必须要购买授权(License)。而MySQL与PostgreSQL属于开放源码产品。对于开放源码的应用程序,就是谁都可以在一定的条件下无偿使用,且允许对应用程序进行改造(具体参见官方网站的版权声明)。通过网络下载了应用程序后,就可以自由地使用它。
但是,并非“开放源码=什么都允许”。使用时还是必须遵循必要的规则或限制,特别是在进行商业软件开发前,必须了解其相关的使用规则。
下面我们列出选择MySQL数据库的两个理由。
理由之一:使用普及率高。
同样作为开放源码的数据库产品,PostgreSQL的普及程度也非常得高,但是以全球市场占有率来说,MySQL比PostgreSQL要高出不少。到今天为止,世界上有1000万以上的服务器里安装了MySQL数据库,因此完全配称为“世界上使用最广泛的开放源码的RDBMS”。尤其在网络世界中比较大众化的,如Yahoo!、Google、YouTube等大型网站采用的就是MySQL数据库。
理由之二:性能出色。
MySQL一直有数据处理速度高的口碑。原来人们提起MySQL来,脑海里总会浮现“MySQL只是以速度快作为卖点,功能方面很弱”的印象。的确,初期的MySQL是在重视性能的方针下开发出来的,在其他数据库中理所当然的功能,MySQL却不支持。但是,经过几次大的升级后,现在的安定版本5.1版中,已经提供了丝毫不逊色于其他数据库产品的功能。
MySQL(http://www.mysql.com/)是由Michael Widenius先生在1995年创建的一款关系数据库。MySQL现在由瑞典的MySQL AB公司负责维护与开发。
MySQL相对于其他RDBMS产品来说,它是由特定的公司管理的开放源码的RDBMS。MySQL产品有下面两种产品类型。
MySQL Community Server:免费,能重复使用。
MySQL Enterprise Server:收费,不可重复使用,提供定期的升级和服务包。
本书中介绍的是免费使用的MySQL Community Server。MySQL Community Server是重视加入新功能的开发版本,稳定性比MySQL Enterprise Server稍差,优点是可以免费自由地重复使用。
与此相反,MySQL Enterprise Server是为解决有“免费使用的开源产品虽好,但是没有技术支持”这种担心的用户而出现的。因为是收费的,所以比较重视稳定性,用户能进行有计划地运行与管理。对于企业用户来说,推荐选择“MySQL Enterprise Server”,MySQL Enterprise Server提供了综合性的软件与服务,拥有较高的可信赖性以及较高的运行效率。
1.3.3 MySQL数据库的优势在上文中已经介绍一些MySQL的特性,这里总结一下,MySQL拥有的五大优势:
处理迅速;
开放源码;
支持在多种OS中运行;
支持多种开发语言;
提供免费与收费的两种类型产品。
上面已经提到过处理速度快是MySQL数据库的“卖点”。初期的产品为了维持速度快的特点,曾经将如事务处理、子查询、存储过程等功能割爱了。所以给人以“MySQL尽管速度快但功能低下”的印象。但是,现在的升级版本中已经完全没有此问题了。表1-2简单列出了MySQL的功能扩展史。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- mysql索引总结(2)-MySQL聚簇索引和非聚簇索引
- mysql数据库中,通过mysqldump工具仅将某个库的所有表的定义进行转储
- 【MySQL高级】MySql中常用工具及Mysql 日志
- Linux下C与Mysql的混合编程
- MySQL创建存储过程(CREATE PROCEDURE)
- mysql 数据库备份
- mysql数据库提示本地无法连接远程服务器(Host is not allowed to connect to this MySQL server)解决办法
- mysql多表查询 2.建立多表数据库案例
- 《MySQL高效编程》一一1.1 数据库简介
- 《MySQL高效编程》一一1.2 数据库的种类
- 基于Java+MySQL实现(Web)平行志愿管理系统【100010134】
- MySQL索引分析以及相关面试题
- python操作mysql数据库系列-操作MySql数据库(三)
- python操作mysql数据库系列-操作MySql数据库(一)
- python操作mysql数据库系列-安装MySql
- Mysql命令mysql:连接Mysql数据库
- Mysql中的函数
- Centos7 开发环境安装mysql社区版本
- 【数据库学习】——【汇总】MySQL数据库下载与安装(Msi文件安装和免安装版本)、Navicat下载与安装
- 【大数据】CentOS7环境下安装MySQL数据库
- MySQL数据分组Group By 和 Having
- MySQL 安装mysql数据库
- MySQL 数据库引擎与编码