MySql学习 - MySql存储引擎笔记

MySql存储引擎

MySql数据库有很多种存储引擎,不同的引擎特点不同,有各自的优点。最近在看MySQL技术内幕,刚好做下笔记。

InnoDB存储引擎

这个是自从MySQL 5.5.8版本后的默认存储引擎,也是我平时使用的搜索引擎。支持事务操作,主要面向联机事务处理的应用,特点是行锁设计,支持外键,也支持类似Oracle的非锁定读这种默认读取操作不会产生锁。

通过使用版本控制来获得高并发并且实现了SQL标准的四种隔离级别,默认是REPEATABLE级别(可以防止脏读和非重复读)。同时使用一种next-key locking的策略来二次写自适应哈希索引,预读等高性能和高可用的功能。

InnoDB是一种cluster 引擎。

MyISAM存储引擎

这种引擎不支持事务,也不支持表锁设计,但支持全文索引。

这是在MysQL 5.5.8之前的默认存储引擎(Windows除外)。

NDB存储引擎

这个引擎我没有使用过,不过这个引擎好像比较强大。

它是集群存储引擎,类似RAC集群的,是面向OLTP的数据库应用的。

Memory存储引擎

这个引擎就是把所有的数据都放在了内存中,所以呢,重启或崩溃的话,所有的数据都会丢失了。所以更适合临时表这种应用场景,数据仓库的维度表这些应用。默认是哈希索引,不是B+树的。

Infobright存储引擎

这个是一个第三方的存储引擎,它的存储是按照列来存储的。并非行存储。所以很适合OLAP的数据应用。

NTSE存储引擎

网易开发的引擎,作为自己内部使用,不支持事务管理(以后好像要支持的)。

还有很多其他引擎。

笔记:2015/04/13

时间: 2024-07-29 08:49:40

MySql学习 - MySql存储引擎笔记的相关文章

mysql学习02-mysql存储引擎(InnoDB,MyISAM)

1.查看现在使用的mysql提供了哪些供使用的存储引擎(可以看出默认使用的存储引擎) 2.查看当前默认使用的存储引擎 show variables: 表示查询数据库的配置变量的值. show status:表示查询数据库运行时的状态变量. 3.InnoDB和MyISAM比较 对比项 MyISAM InnoDB 主外键 不支持 支持 事务 不支持 支持 行表锁 表锁,操作一条数据也会锁住整张表,不适合高并发操作 行锁,进行操作时只会锁住对应的那一行数据,不对其他行产生影响,适合高并发操作 缓存 缓

MySQl学习-——Mysql体系结构与Mysql存储引擎

Mysql体系结构与Mysql存储引擎 Mysql体系结构 mysql体系结构图: 1)        Connectors:指的是不同语言中与SQL的交互 max_connections 就是整个MySQL实例的最大连接数限制 max_user_connections 是单个用户的最大连接数,这里未指明是哪个用户,是任意一个用户. 2)        Management Serveices & Utilities:系统管理和控制工具 备份和恢复的安全性,复制,集群,管理,配置,迁移和元数据

MySQL 架构组成--存储引擎

http://hongge.blog.51cto.com/ MySQL Server 系统架构 在前一节中我们学习了mysql的逻辑模块组成,接下来我们来学习mysql存储引擎. 一.mysql存储引擎介绍: MySQL在5.1(不包括)之前的版本中,存储引擎是需要在MySQL 安装的时候就必须和MySQL 一起被编译并同时被安装的. 但是从MySQL5.1 开始,MySQL AB 对其结构体系做了较大的改造,并引入了一个新的概念:插件式存储引擎体系结构.MySQL AB 在架构改造的时候,让存

查看和改动MySQL数据库表存储引擎

要做一名合格的程序猿,除了把代码写的美丽外,熟知数据库方面的知识也是不可或缺的.以下总结一下怎样查看和改动MySQL数据库表存储引擎:        1.查看数据库所能支持的存储引擎:show engines;        2.查看某个数据库中某个表所使用的存储引擎:show table status from db_name where name='table_name';(注:将where条件去掉后能够查看某个数据库中全部表的存储引擎情况)        3.改动表引擎方法:alter t

mysql常识以及存储引擎,锁和事务

常见的数据库系统: 1.甲骨文的Oracle 2.IBM的DB2 3.微软的Access和 SQL Server 4.开源PostgreSQL 5.开源MySQL mysql数据库三阶段: 初期开源数据库阶段 sun mysql阶段 oracle mysql阶段 OLTP:联机事务处理,面向基本的.日常的事务处理. OLAP:联机分析处理,数据仓库的主要应用. mysql分支版本(一些): MariaDB : Maria引擎室myisam存储引擎的升级版本,增加了对Hash join的支持和Se

mysql三:存储引擎

一 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件应该有不同的类型:比如存文本用txt类型,存表格用excel,存图片用png等 数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎. 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型) 在O

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

Mysql的InnoDB存储引擎支持事务,默认是行锁.因为这个特性,所以数据库支持高并发,但是如果InnoDB更新数据的时候不是行锁,而是表锁的话,那么其并发性会大打折扣,而且也可能导致你的程序出错. 而导致行锁变为表锁的情况之一就是: SQL的更新(update)或者删除(delete)语句中未使用到索引,导致在InnoDB在对数据进行相应操作的时候必须把整个表锁起来进行检索(表锁).而如果使用了索引的话,InnoDB只会通过索引条件检索数据,而只锁住索引对应的行(行锁). 下面记录一下我遇到

Mysql更换MyISAM存储引擎为Innodb的操作记录

一般情况下,mysql会默认提供多种存储引擎,可以通过下面的查看: 1)查看mysql是否安装了innodb插件.通过下面的命令结果可知,已经安装了innodb插件. mysql> show plugins; +------------+--------+----------------+---------+---------+ | Name | Status | Type | Library | License | +------------+--------+----------------

MySQL数据库InnoDB存储引擎多版本控制(MVCC)实现原理分析

文/何登成 导读:   来自网易研究院的MySQL内核技术研究人何登成,把MySQL数据库InnoDB存储引擎的多版本控制(简称:MVCC)实现原理,做了深入的研究与详细的文字图表分析,方便大家理解InnoDB存储引擎实现的多版本控制技术(简称:MVCC). 基本知识 假设对于多版本控制(MVCC)的基础知识,有所了解.MySQL数据库InnoDB存储引擎为了实现多版本的一致性读,采用的是基于回滚段的协议. 行结构 MySQL数据库InnoDB存储引擎表数据的组织方式为主键聚簇索引.由于采用索引

mysql几种存储引擎介绍

在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库.而在设计表的时候,我们都会关注一个问题,使用什么存储引擎.等一下,存储引擎?什么是存储引擎? 什么是存储引擎? 关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式.有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差:而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的数据,