笑雨烟遥

导航

MySQL学习笔记一

本次学习使用教程《深入浅出MySQL 数据库开发、优化与管理维护》(第二版)。

MySQl版本:5.6.34

MySQL简介:

MySQL数据库隶属于MySQL AB公司,当前已被Oracle收购。MySQL几乎支持所有的操作系统,并且支持很大的表。广泛应用于web服务器领域,MySQL是开源软件。

MySQL是一个关系型数据库。

MySQL存储引擎(2014年,人生第一次面试就跪在这个上面了,直接懵逼,我只学SQL语句了,不知道啥存储引擎啊):

查询MySQL支持的存储引擎:

show engines;

 查询当前默认的存储引擎:

show variables like 'storage_engine';

 当前MySQL总共有四种常用的存储引擎:

1、InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。InnoDB被用在众多需要高性能的大型数据库站点上。MySQL 5.5 起成为默认数据库引擎

2、MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务。MySQL 5.0 之前的默认数据库引擎

3、Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 MySQL 重新启动时丢失。

4、Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive 拥有高效的插入速度,但其对查询的支持相对较差。

各种存储引擎选择原则:

$如果要提供提交、回滚、崩溃恢复能力的事物安全(ACID兼容)能力,并要求实现并发控制,InnoDB是一个好的选择。

$如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率。

$如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果。

$如果只有INSERT和SELECT操作,可以选择Archive,Archive支持高并发的插入操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息可以使用Archive。

参考链接:

1、四种mysql存储引擎  https://blog.csdn.net/zhangyuan19880606/article/details/51217952

2、mySQL (关系型数据库管理系统) https://baike.baidu.com/item/mySQL/471251?fr=aladdin

posted on 2018-04-01 21:03  笑雨烟遥  阅读(99)  评论(0编辑  收藏  举报