MySQL的优势

MySQL的主要优势如下:
(1)速度:运行速度快。
(2)价格:MySQL对多数个人来说是免费的。
(3)容易使用:与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习。
(4)可移植性:能够工作在众多不同的系统平台上,例如:Windows、Linux、Unix、
Mac OS等。
(5)丰富的接口:提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和
Tcl等语言的API。
(6)支持查询语言:MySQL可以利用标准SQL语法和支持ODBC(开放式数据库连
接)的应用程序。
(7)安全性和连接性:十分灵活和安全的权限和密码系统,允许基于主机的验证。连
接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。并且由于
MySQL是网络化的,因此可以在因特网上的任何地方访问,提高数据共享的效率。

MySQL 5.7的新功能

和MySQL5.6相比,MySQL5.7的新功能主要包括以下几个方面。
1.支持JSON
JSON(Java Script Object Notation的缩写)是一种存储信息的格式,可以很好地替
代XML。从MySQL 5.7.8版本开始,MySQL将支持JSON,而在此版本之前,只能通过
strings之类的通用形式来存储JSON文件,这样做的缺陷很明显,就是必须要自行确认
和解析数据、解决更新中的困难、在执行插入操作时忍受较慢的速度。
2.性能和可扩展性
改进InnoDB的可扩展性和临时表的性能,从而实现更快的网络和大数据加载等操作。
3.改进复制以提高可用性的性能
4.性能模式提供更好的视角
增加了许多新的监控功能,以减少空间和过载,使用新的SYS模式显著提高易用性。
5.安全
以安全第一为宗旨,提供了很多新的功能,从而保证数据库的安全。
6.优化
重写了大部分解析器、优化器和成本模型,这提高了可维护性、可扩展性和性能。
7.GIS
MySQL 5.7全新的功能,包括InnoDB空间索引,使用Boost.Geometry,同时提高完整
性和标准符合性。
MySQL存储引擎简介
MySQL的核心就是存储引擎。
MySQL提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的
引擎。在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可
以对每一个表使用不同的存储引擎。MySQL 5.7支持的存储引擎有:InnoDB,
MyISAM,Memory,Merge,Archive,Federated,CSV,BLACKHOLE等。可以使
用SHOW ENGINES语句查看系统所支持的引擎类型。
**InnoDB是事务型数据库的首选引擎,**支持事务安全表(ACID),支持行锁定和外键。MySQL 5.5.5之后,InnoDB作为默认存储引擎。
**MyISAM基于ISAM的存储引擎,**并对其进行扩展。它是在Web、数据存储和其他应用环
境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务。
在MySQL 5.5.5之前的版本中,MyISAM是默认存储引擎。
MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访
问。
存储引擎的选择
不同存储引擎都有各自的特点,以适应不同的需求,如表3.1所示。为了做出选择,首先
需要考虑每一个存储引擎提供了哪些不同的功能。
存储引擎比较
在这里插入图片描述

  • 如果要提供提交、回滚和崩溃恢复能力的事务安全(ACID兼容)能力,并要求实现并发
    控制,InnoDB是个很好的选择。
  • 如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率;
  • 如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果。
  • 如果只有INSERT和SELECT操作,可以选择Archive引擎,Archive存储引擎支持高并发的插入操作,但是本身并不是事务安全的。Archive存储引擎非常适合存储归档数据,如记录日志信息可以使用Archive引擎。
    使用哪一种引擎要根据需要灵活选择,一个数据库中多个表可以使用不同引擎以满足各
    种性能和实际需求。使用合适的存储引擎,将会提高整个数据库的性能。
Logo

更多推荐