MySQL学习笔记一

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

MySQl版本:5.6.34web

MySQL简介:面试

MySQL数据库隶属于MySQL AB公司,当前已被Oracle收购。MySQL几乎支持全部的操做系统,而且支持很大的表。普遍应用于web服务器领域,MySQL是开源软件。sql

MySQL是一个关系型数据库。数据库

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

查询MySQL支持的存储引擎:服务器

show engines;

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

show variables like 'storage_engine';

 当前MySQL总共有四种经常使用的存储引擎:高并发

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

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

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

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

各类存储引擎选择原则:

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

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

$若是只是临时存放数据,数据量不大,而且不须要较高的数据安全性,能够选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎做为临时表,存放查询的中间结果。

$若是只有INSERT和SELECT操做,能够选择Archive,Archive支持高并发的插入操做,可是自己不是事务安全的。Archive很是适合存储归档数据,如记录日志信息可使用Archive。

参考连接:

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

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

相关文章
相关标签/搜索