Mysql 掌握要点

1. 引擎

InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION);二是采用了行级锁。
行级锁和表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题。

1.1 InnoDB 支持事务

1.2 MyISAM 支持全文索引

2. 分库分表

  分表:http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html

2.1 Cobar

2.2 Mycat

3. SQL优化

MySQL大表优化方案

3.1 索引

3.1.1 主键索引

3.1.2 组合索引

3.2 expalin

3.3 存储过程

4. SQL注入

4.1 使用#而不是用$

5. 事务隔离级别(ACID)

  定义:所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。

  ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:

  原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability).这是可靠数据库所应具备的几个特性.下面针对这几个特性进行逐个讲解.

5.1 原子性

  原子性是指事务是一个不可再分割的工作单位,事务中的操作要么都发生,要么都不发生。

5.2 一致性

  一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。

5.3 隔离性

  多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。

  事务之间的相互影响分为几种,分别为:脏读,不可重复读,幻读(虚读),丢失更新

5.4 持久性

  持久性,意味着在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

  事务的(ACID)特性是由关系数据库管理系统(RDBMS,数据库系统)来实现的。数据库管理系统采用日志来保证事务的原子性、一致性和持久性。日志记录了事务对数据库所做的更新,如果某个事务在执行过程中发生错误,就可以根据日志,撤销事务对数据库已做的更新,使数据库退回到执行事务前的初始状态。

  数据库管理系统采用锁机制来实现事务的隔离性。当多个事务同时更新数据库中相同的数据时,只允许持有锁的事务能更新该数据,其他事务必须等待,直到前一个事务释放了锁,其他事务才有机会更新该数据。

6. 锁

表锁 行锁 http://www.cnblogs.com/chenqionghe/p/4845693.html

6.1 表锁

6.2 行锁

6.3 乐观锁

乐观锁 悲观锁 http://www.cnblogs.com/zhiqian-ali/p/6200874.html

6.4 悲观锁

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值