存储引擎的概念:

关系型数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,各种各样,不同的表结构意味着存储不同类型的数据,在数据的处理上也会存在着差异,对于mysql来说,它提供了多种类型的存储引擎,可以根据对数据处理的需求,选择不同的存储引擎,从而最大限度的利用mysql的性能

mysql常见的存储引擎:(SHOW ENGINES;    查看mysql支持的存储引擎)

InnoDB:mysql5.5以后默认使用的储存引擎,是目前使用最为广泛的存储引擎

InnoDB的特性:

1、支持崩溃后安全恢复

2、InnoDB支持行级锁和外键约束

3、支持事务

4、支持聚集索引和辅助索引

5、支持热备份

6、支持行级锁

7、特别适合处理多重并发的请求,基于MVCC实现

数据文件:

InnoDB数据存储于表空间中:

两种表空间的类型:

1、所有InnoDB表的数据和索引存在在一个文件中,表空间文件定义在data目录下

数据文件名:ibdata1,ibdata2,...

默认使用这种表空间格式,但这种方式有很大缺陷,不建议使用

2、每个表使用一个独立的表空间文件,存储数据和索引

innodb_file_per_teble=ON #指定使用第二种表空间格式

使用独立表空间文件,每增加一张表就会增加两个数据文件

数据文件:

表名.ibd:用于存储数据和索引

表名.frm:用于存储表定义和属性

MyISAM:mysql5.5以前默认使用的存储引擎

MyISAM的特性:

1、支持全文索引,压缩

2、不支持事务

3、只能支持表级锁

4、不支持崩溃后安全恢复

5、支持温备份

适用场景:读多写少的环境(如:读写分离中的从库),且如果需要用到MyISAM可以考虑用Aria代替

Aria支持崩溃后安全恢复

MyISAM没创建一个表和生成三个数据文件

数据文件:位于data目录下

表名.frm:用于存储表定义和属性

表名.MYD:用于存储数据

表名.MYI:用于存储索引

BlackHole(黑洞引擎):

不实际存储数据,一般只用于记录二进制日志文件,多用与级联复制

Memory(基于内存的存储引擎):

Memory存储引擎,内存作为存储介质。提高数据库性能,但当mysqld崩溃时,所有的Memory数据都会丢失

使用场景:

1.目标数据较小,而且被非常频繁地访问

2.如果数据是临时的,而且要求必须立即可用,那么可以Memory存储引擎

3.存储在Memory表中的数据如果突然丢失,不会对线上服务产生负面影响

mysql锁:

锁的概念:

在数据库中,数据是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素

锁的级别:

表级锁:开销小,加锁快;不会出现死锁;锁定力度大,发生锁冲突的概率最高,并发度最低

行级锁:开销大,加锁慢;会出现死锁;锁定力度小,发生锁冲突的概率最低,并发度最高

mysql本身在数据库级别实现了表级锁,存储引擎的锁只有存储引擎能够调用,用户无权操作

手动加锁:

语法

LOCK TABLES tbl_name ock_type READ|WRITE #加锁

UNLOCK TABLES #解锁

本文转自  红尘世间  51CTO博客,原文链接:http://blog.51cto.com/hongchen99/1932021

mysql基础(三)存储引擎和锁的更多相关文章

  1. MySQL基础day03 存储引擎和外键MySQL 5.6

    MySQL基础day03_存储引擎和外键-MySQL 5.6 外键的条件: 1,表的存储引擎为innodb存储引擎 2,表中外键字段的类型要与参考表的字段类型一致 3,外键字段要是索引类型中的一种 M ...

  2. mysql基础之存储引擎

    原文:mysql基础之存储引擎 数据库对同样的数据,有着不同的存储方式和管理方式,在mysql中,称为存储引擎 常用的表的引擎 Myisam ,批量插入速度快, 不支持事务,锁表 Innodb, 批量 ...

  3. MySQL基础之 存储引擎

    MyISAM存储引擎 缺点:不支持事务,不支持外键.只支持表级锁. 优点:访问速度快,多用于select.insert语句的高负载操作.仅仅支持全文索引. MyISAM缓存在内存的是索引,不是数据.而 ...

  4. MySQL三:存储引擎

    阅读目录 一 什么是存储引擎 二 mysql支持的存储引擎 三 使用存储引擎 一 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的 ...

  5. mysql 三存储引擎

    一 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型 ...

  6. Mysql存储引擎以及锁机制

    一.常用命令 1.查看引擎(默认为InnoDB) 查看mysql提供的存储引擎:show engienes 查看mysql当前默认的存储引擎:show variables like '%storage ...

  7. MySQL数据库InnoDB存储引擎中的锁机制

    MySQL数据库InnoDB存储引擎中的锁机制    http://www.uml.org.cn/sjjm/201205302.asp   00 – 基本概念 当并发事务同时访问一个资源的时候,有可能 ...

  8. mysql中InnoDB存储引擎的行锁和表锁

    Mysql的InnoDB存储引擎支持事务,默认是行锁.因为这个特性,所以数据库支持高并发,但是如果InnoDB更新数据的时候不是行锁,而是表锁的话,那么其并发性会大打折扣,而且也可能导致你的程序出错. ...

  9. MySql的多存储引擎架构, 默认的引擎InnoDB与 MYISAM的区别(滴滴)

    1.存储引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术, ...

随机推荐

  1. MySQL 学习之查漏补缺

    1.InnoDB 相关知识点 InnoDB 引擎是将数据划分为若干数据页,页大小一般16 KB,16384个字节. 插入数据是以记录为单位,这些记录在磁盘的存放方式称之为 行格式/记录格式,有 com ...

  2. 手动搭建I/O网络通信框架3:NIO编程模型,升级改造聊天室

    第一章:手动搭建I/O网络通信框架1:Socket和ServerSocket入门实战,实现单聊 第二章:手动搭建I/O网络通信框架2:BIO编程模型实现群聊 在第二章中用BIO编程模型,简单的实现了一 ...

  3. Linux服务器 上传/下载 文档/目录

    1.从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101 ...

  4. Jquery的$.get(),$.post(),$.ajax(),$.getJSON()用法详细解读

    1.$.get $.get()方法使用GET方式来进行异步请求,它的语法结构为: $.get( url [, data] [, callback] ) 解释一下这个函数的各个参数: url:strin ...

  5. 让 .NET 轻松构建中间件模式代码(二)

    让 .NET 轻松构建中间件模式代码(二)--- 支持管道的中断和分支 Intro 上次实现了一个基本的构建中间件模式的中间件构建器,现在来丰富一下功能,让它支持中断和分支,分别对应 asp.net ...

  6. 06-jmeter参数化(函数对话框使用)

    概念: 1.变量命名的规则:字母.下划线开头,可包含数字,严格区分大小写 2.配置元件:用户定义的变量-------值是不变化的 用户命名的参数--------可以动态获取的并传参的 jmeter函数 ...

  7. 一个不错的博客-涉及el 、jstl、log4j 入门等

    http://www.cnblogs.com/Fskjb/category/198224.html

  8. 2019-07-31【机器学习】无监督学习之降维PCA算法实例 (鸢尾花)

    样本 代码: import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.datasets i ...

  9. Docker安装Redis并介绍漂亮的可视化客户端进行操作

    1 简介 Redis是使用ANSI C语言开发的基于Key-Value的高性能NoSQL数据库,在解决高并发.高可用等一系列问题中,它扮演着重要的角色.它的优势主要有: 速度快. 持久化. 原子性. ...

  10. 原创hadoop2.6.4 namenode HA+Federation集群高可用部署

    今天下午刚刚搭建了一个高可用hadoop集群,整理如下,希望大家能够喜欢.   namenode HA:得有两个节点,构成一个namenode HA集群 namenode Federation:可以有 ...