事务处理&MySQL存储引擎

事务处理&MySQL存储引擎

事物处理

概念

事务必须服从ISO/IEC所制定的ACID原则。
ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。

  • 原子性:一个事物为一个整体,要干就干完。
    A transaction’s changes to the state are atomic: either all happen or none happen. These changes include database changes, messages, and actions on transducers.
  • 一致性:事物失败,数据恢复到事物执行前。
  • 隔离性:在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。多个事物不能同时进行,需要排队。
    Even though transactions execute concurrently, it appears to each transaction T, that others executed either before T or after T, but not both.
  • 持久性:事物执行成功,对数据的更改,在系统中是永久的。不会过几天自动变了。

重要性

方便数据共享以及确保数据的安全性。
比如:A给B通过支付宝转账。那么系统就要确保从A那里扣除了钱之后,要把钱加到B上,这一个事物。

具体样例

以后进行补充

MySQL存储引擎

MyISAM与InnoDB

MyISAM与InnoDB的区别

  • InnoDB支持事物,MyISAM不支持。在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。
  • 主要是读取写入的用MyISAM效率高,涉及到事物的用InnoDB
  • MyISAM是默认引擎,InnoDB需要指定
  • InnoDB支持行锁
  • 清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表

使用InnoDB方法

  • 建表时create table XX()ENGINE=InnoDB;使用MyISAM同理
  • 在配置文件my.ini中的 [mysqld] 下面加入default-storage-engine=INNODB,重启Mysql服务器;设置MyISAM为默认同理。
    登录Mysql数据库,mysql>show engines 如果出现 InnoDB |DEFAULT,则表示设置InnoDB为默认引擎成功。

引擎查看与切换

  • 查看表使用的存储引擎
    show table status from db_name where name=’table_name’;
    第二个就是储存引擎类型,很容易发现。
  • 修改表引擎
    alter table table_name engine=innodb;

总结:需要事物,那么用InnoDB;不需要就用MyISAM;不知道需不需要就用InnoDB。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值