随笔分类 -  database

摘要:mysql事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等。这样,这些数据库操作语句就构成一个事务。注意一下几点: 在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务。 事务处理 阅读全文
posted @ 2015-05-23 20:05 南哥的天下 阅读(5212) 评论(0) 推荐(1) 编辑
摘要:事务的隔离级别 为了解决这些问题,数据库管理软件采用了一些·办法设置了事务的隔离等级。隔离等级越高,数据越安全,但性能越低。 MySQL查看当前数据库的隔离级别命令是: mysql> SELECT @@tx_isolation; 更改隔离级别(开启事务之前更改): mysql> SET TRANSA 阅读全文
posted @ 2015-05-17 12:51 南哥的天下 阅读(1560) 评论(0) 推荐(0) 编辑
摘要:引言 照例,我们先来一个场景~ 面试官:"知道事务的四大特性么?"你:"懂,ACID嘛,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)!"面试官:"你们是用mysql数据库吧,能简单说说innodb中怎么实现这四大特性的么 阅读全文
posted @ 2015-01-04 09:13 南哥的天下 阅读(243) 评论(0) 推荐(0) 编辑
摘要:假设我们有一个三列索引 (a, b, c),那么 B+ 树中的存储方式通常如下: 根节点(Root): 根节点存储的是索引的最高层次的键值,这里就是索引的第一列 a 的键值。如果查询语句中没有包含列 a,那么根节点可以帮助确定索引的起始位置。如果查询中包含了列 a,根节点可以指示 B+ 树中下一层的 阅读全文
posted @ 2014-10-25 20:42 南哥的天下 阅读(4776) 评论(0) 推荐(0) 编辑
摘要:写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在 阅读全文
posted @ 2014-10-24 19:26 南哥的天下 阅读(360) 评论(0) 推荐(0) 编辑