mysql 引擎是表级别_MySQL引擎

2ff34e647e2e3cdfd8dca593e17d9b0a.png

ACID测试A:AUTOMICITY ,原子性;整个事物中的所有操作要么全部成功执行,要么全部失败后回滚

C:CONSISTENY,一致性;数据库总是应该从一个一致性状态转为另一个一致性状态

I:ISOLATION:隔离性;一个数据所作出的操作在提交之前,是否能为其它事物可见;出于保证并发操作之目的,隔离有多种级别

D:DURABILITY 持久性;事物一旦提交,其所作出的修改会永久保存

事物隔离级别READ-UNCOMMITTED:读未提交–>脏读

MYSQL3.gifREAD-COMMITTED:读提交–>不可重复读

MYSQL4.gifREPEATABLE-READ:可重复读–>幻读

MYSQL6.gifSERIALIZABLE:串行化

手动控制事物

启动:START TRANSACTION

提交:COMMIT

回滚:ROLLBACK事物支持savepoints:

SAVEPOINT identifier

ROLLBACK [work] TO [SAVEPOINT] identifier

RELEASE SAVEPOINT identifier

查看InnoDB存储引擎的状态信息MariaDB [class]> SHOW ENGINE innodb STATUSG;

mysql服务器引擎

-

存储引擎:也称为“表类型”,表级别概念,不建议咋同一个库中的表上使用不同的ENGINE。

查看数据库服务器支持的引擎MariaDB [(none)]> SHOW ENGINESG;

MariaDB [(none)]> SHOW ENGINE INNODB STATUSG; #显示INNODB引擎状态

常见的引擎MyISAM, Aria, InnoDB, MRG_MYISAM, CSV, BLACKHOLE, MEMORY, PERFORMANCE_SCHEMA, ARCHIVE, FEDERATED

InnoDB和MyISAM引擎的区别

-

InnoDB

Percon-XtraDB,支持事物,支持级别锁,支持外键数据存储在“表空间(tables space)”中:(1)所有数据库中所有类型为InnoDB的表的数据和索引存储于同一个表空间中;

表空间文件:datadir定义的目录中

文件:ibdata1,ibdata2...

2017-11-08_210733.jpg(2)innodb_file_per_table=ON这个选项添加到配置文件中意味着每张表使用单独的表空间文件;每张表的数据文件(数据和索引,存储于数据库目录)存储在自己专用的表空间文件中,并存储于数据库目录下:tb1_name.ibd

表结构定义:在数据库目录,tb1——name.frm

[[email protected]~]#vim /etc/my.cnf

2017-11-08_211255.jpg

[[email protected]~]#systemctl start mariadb.service #重启服务MariaDB [students]> CREATE TABLE student (ID INT,NAME VARCHAR(30)); #创建一张表

[[email protected]/var/lib/mysql/students]#lsdb.opt student.frm student.ibd事务性存储引擎,适合对事物要求较高的场景中;但较适用于处理大量短期事物

基于MVCC(Mutli Version Concurrency Control) 支持高并发;

支持四个隔离级别,默认级别为REPEATALBE-READ;间隙锁以防止幻读

MariaDB [students]> SHOW SESSION VARIABLES LIKE ‘tx_isolation’;

+—————+—————–+

| Variable_name | Value |

+—————+—————–+

| tx_isolation | REPEATABLE-READ |

+—————+—————–+

MariaDB [students]> SELECT @@GLOBAL.tx_isolation;

+———————–+

| @@GLOBAL.tx_isolation |

+———————–+

| REPEATABLE-READ |

+———————–+使用聚集所以(主键索引)

支持“自适应Hash索引”

锁粒度:行级锁,间隙锁

小结:数据存储:表空间

并发:MVCC,间隙锁,行级锁

索引:聚集索引、辅助索引

性能:预读操作、内存数据缓冲、自适应Hash索引、插入操作缓存区

备份:支持热备

MyISAM支持全文索引、压缩、空间函数(GIS)

不支持事物

锁粒度:表级锁

崩溃无法保证表安全恢复

使用场景:只读或读多写少的场景、较小的表(以保证崩溃后恢复的时间较短)

文件:每个表有三个文件,存储于数据库目录中tb1_name.frm:表格式定义

tb1_name.MYD:数据文件

tb1_name.MYI:索引文件

示例:MariaDB [students]> CREATE DATABASE class;

MariaDB [class]> CREATE TABLE classes (ID INT ,number INT) ENGINE MyISAM; #创建表并指定引擎

[[email protected]/var/lib/mysql/class]#lsclasses.frm classes.MYD classes.MYI class.frm class.ibd db.opt

特性:加锁和并发:表级锁

修复:手动或自动修复、但可能会丢失数据

索引:非聚集索引

延迟索引更新

表压缩

其他的存储引擎CSV:将CSV文件(以逗号分隔字段的文本文件)作为mysql表文件

MRG_MYISAM:将多个MyISAM表合并成虚拟表

BLANCKHOLE:类似于/dev/null,不真正存储数据

MEMORY:内存存储引擎,支持hash索引,表级锁,常用于临时表

FEDERATED:用于访问其他远程mysql服务器上表的存储引擎接口

mariadb额外支持很多中引擎:OQGraph、SphinxSE、TokuDB、Cassandra、CONNECT、SQUENCE、..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值