关于Mysql数据库
来源:互联网 发布:短期迅速提高算法题 编辑:程序博客网 时间:2024/05/18 00:49
1、首先从mysql存储引擎说起、什么是存储引擎呢?在mysql中、存储引擎是指存储mysql数据表的不同的存储技术、这样可以满足不同的业务需求
常见的mysql存储引擎(存储技术):innoDB、memory、MyISAM
2、innoDB的特点:支持事务、支持外键、支持自动增长列
优点:提供良好的事务处理、崩溃修复和并发控制
缺点:读写效率差、占用空间大
业务场景:传统的严格要求事务一致性的场景、比如银行的转账汇款、要求并发控制,需要频繁进行更新、删除操作的数据库
3、memory的特点:数据存储到内存
优点:处理速度非常快
缺点:数据容易丢失、生命周期短
场景:适合应用程序、需要初始化或不会变动的数据、对数据的安全性要求较低,使用相对较小的数据库表
4、MyISAM的特点:数据存取带索引、frm存储表结构、myd存储数据、myi存储索引
优点:占用空间小、处理速度快
缺点:不支持事务的完整性和并发性
场景:对事务没要求、并需要高速存取数据的场景(类似HBase的场景)、应用完整性、并发性要求很低
5、ACID特性:数据库事务正确执行的四个特性
5.1、原子性(Atomicity)
整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
5.2、一致性(Consistency)
在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
5.3、隔离性(Isolation)两个事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。
5.4、持久性(Durability)
在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
由于一项操作通常会包含许多子操作,而这些子操作可能会因为硬件的损坏或其他因素产生问题,要正确实现ACID并不容易。ACID建议数据库将所有需要更新 以及修改的资料一次操作完毕,但实际上并不可行。
6、目前实现ACID的方式有两种:第一种是Write ahead logging,也就是日志式的方式。第二种是Shadow paging。第一种WAL(预写入)的方式比较常用。
- 关于mysql数据库
- 关于mysql数据库
- 关于 mysql.test 数据库
- 关于Mysql数据库
- 关于MySQL数据库操作
- 关于MySQL数据库
- 关于Mysql数据库后台选择
- 关于MYsql数据库的优化
- 关于eclipse连接mysql数据库
- 关于MYsql数据库的优化
- 关于mysql数据库中索引
- 关于MySQL数据库的分页
- 关于数据库拷贝,新建(MySql)
- 关于mysql数据库乱码问题
- java关于mysql数据库备份
- 关于mysql数据库的安装
- 关于java连接mysql数据库
- 关于mysql四个默认数据库
- Linux驱动编程 step-by-step (一)驱动程序的作用
- 一段源代码
- Linux驱动编程 step-by-step (八) 阻塞型字符设备驱动
- HDU 5032 Always Cook Mushroom(极角排序, 树状数组)
- CSDN 厦门大学线下编程比赛第一题:求和(同余定理)
- 关于Mysql数据库
- 最长公共子序列 【微软面试100题 第五十六题】
- Java中的Set操作
- Linux驱动编程 step-by-step (九)字符设备模拟pipe的驱动程序
- CentOS 7 如何更改启动模式
- 指针的妙用(C++)
- Linux驱动编程 step-by-step (十) Linux 内核链表
- 这是我写的第一篇blog
- 关系数据库关系的完整性