美文网首页3
初识 MySQL

初识 MySQL

作者: happyJared | 来源:发表于2019-08-08 06:40 被阅读10次

MySQL 是一种关系型数据库,是开源免费的,且方便扩展,任何人都可以在 GPL(General Public License) 的许可下下载并根据个性化的需要对其进行修改。默认端口号是 3306

存储引擎

一些常用命令

查看 MySQL 提供的所有存储引擎

mysql> show engines;
查看 MySQL 提供的所有存储引擎

从上图可以看出,MySQL 当前默认的存储引擎是 InnoDB,并且在5.7版本所有的存储引擎中只有 InnoDB 是事务性存储引擎,也就是说只有 InnoDB 支持事务。

查看 MySQL 当前默认的存储引擎

mysql> show variables like '%storage_engine%';

查看表的存储引擎

show table status like "table_name";
查看表的存储引擎

MyISAM 和 InnoDB 区别

MyISAM 是 MySQL5.5版本之前的默认数据库引擎。虽然性能极佳,支持大量的特性,包括全文索引、压缩、空间函数等,但 MyISAM 不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。不过,5.5版本之后,MySQL引入了InnoDB(事务性数据库引擎),MySQL5.5版本后默认的存储引擎为 InnoDB。

大多数时候我们使用的都是 InnoDB 存储引擎,但是在某些情况下使用 MyISAM 也是合适的比如读密集的情况下。(如果你不介意 MyISAM 崩溃回复问题的话)。

两者的对比:

  1. 是否支持行级锁 : MyISAM 只有表级锁(table-level locking),而 InnoDB 支持行级锁(row-level locking)和表级锁,默认为行级锁。
  2. 是否支持事务和崩溃后的安全恢复: MyISAM 强调的是性能,每次查询具有原子性,其执行数度比 InnoDB 类型更快,但是不提供事务支持。但是InnoDB 提供事务支持事务,外部键等高级数据库功能。 具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。
  3. 是否支持外键: MyISAM 不支持,而 InnoDB 支持。
  4. 是否支持MVCC :仅 InnoDB 支持。应对高并发事务, MVCC 比单纯的加锁更高效;MVCC 只在 READ COMMITTEDREPEATABLE READ 两个隔离级别下工作;MVCC 可以使用 乐观(optimistic)锁 和 悲观(pessimistic)锁来实现;各数据库中 MVCC 实现并不统一。

推荐阅读:MySQL-InnoDB-MVCC多版本并发控制

《MySQL高性能》上面有一句话这样写到:

不要轻易相信“MyISAM 比 InnoDB 快”之类的经验之谈,这个结论往往不是绝对的。在很多我们已知场景中,InnoDB 的速度都可以让 MyISAM 望尘莫及,尤其是用到了聚簇索引,或者需要访问的数据都可以放入内存的应用。

一般情况下我们选择 InnoDB 都是没有问题的,但是某事情况下你并不在乎可扩展能力和并发能力,也不需要事务支持,也不在乎崩溃后的安全恢复问题的话,选择 MyISAM 也是一个不错的选择。但是一般情况下,我们都是需要考虑到这些问题的。

相关文章

  • MySQL实战

    第1章 初识MySQL 启动MySQL服务 net start mysql(服务名) 关闭MySQL服务 net ...

  • 初识MySQL

    mysql 配置 mysql扩展名:window下为my.ini;Mac 下为my.cnf在/etc目录下port...

  • 初识Mysql

    简介:Mysql是一个开源的关系型数据库管理系统,开源意味着是免费的,关系型数据库是以行和列来存储数据,就像是ex...

  • 初识MySQL

    基本术语解析 服务器:通俗理解就是提供服务的机器。跟电脑类似,由cpu、内存、硬盘组成。但在安全性、稳定性、可操作...

  • 初识mysql

    SQL SQL 是用于访问和处理数据库的标准的计算机语言。是一种结构化的查询语言。通过SQL我们可以访问数据库和处...

  • 初识 MySQL

    MySQL 是一种关系型数据库,是开源免费的,且方便扩展,任何人都可以在 GPL(General Public L...

  • 初识MySQL

    MySQL的优势1.运行速度快2.使用成本低3.容易使用4.可移植性强 MySQL目录1.bin文件:存放可执行文...

  • 初识Mysql

    知道Mysql很多年了,也用了很多年了,但是没有真正深入了解过,这次开始通过《高性能Mysql》学习Mysql,下...

  • 初识MySQL

  • 初识MySQL

    为什么要使用数据据库 ·登录界面·用户信息查询~ 对比 ~数据,集合,内存的易失性 断电丢失文件 可以存,查询不便...

网友评论

    本文标题:初识 MySQL

    本文链接:https://www.haomeiwen.com/subject/jnqodctx.html