数据库
iteye_17821
这个作者很懒,什么都没留下…
展开
-
数据库事务和MVCC
1.事务概念事务就是一组原子性的SQL,事务内的语句,要么全部执行成功,要么不执行。例如:A要给B转账200元,那么A的账户要减少200,B的账户要增加200,这两个操作要在同一个事务中,要么全部执行成功,要么不执行。2.ACID特性Atomicity(原子性):一个事务必须被视为一个不可分割的工作单元,事务中的操作要么全部成功,要么全部失败回滚。Consi...2014-12-08 16:50:10 · 117 阅读 · 0 评论 -
MySQL MyISAM和InnoDB存储引擎的区别
1.适用场景如非确实有必要,一般都要使用InnoDB存储引擎。2.锁粒度MyISAM是表锁,InnoDB是行锁。3.事务MyISAM不支持事务,InnoDB支持事务。4.热备MyISAM不支持热备,InnoDB支持热备。5.索引InnoDB使用聚簇,二级索引中必须包含主键。MyISAM保存指向数据行的指针。还有一些其他的不同,主要的就这几个,目前为止...2014-12-09 15:44:11 · 84 阅读 · 0 评论 -
数据库锁原理
1 为什么需要锁数据库通常有大量的用户在同时操作,所以并发的情况下需要控制对临界资源的操作,数据库通过锁来控制对临界资源的访问,从而保证数据的一致性。例如对于同一个账户,操作之前账户余额为1000,同时开始2个事务,一个事务取款100,一个事务往账户中汇入100,那么2个事务结束后,账户的余额必须还是1000,否则要么银行不干,要么个人不干。2 锁类型2.1 共享锁(读锁)读锁是共...2014-12-09 20:23:04 · 231 阅读 · 0 评论 -
MySQL视图
1 什么是视图视图是一张虚拟表,本身不存储数据,数据来自于创建视图的表。2 应用场景1)使用视图可以屏蔽底层数据库表结构变化给应用带来的冲击。比如项目使用了第三方产品构建,可以创建对第三方产品数据库表的视图,这样如果第三方产品的表结构变化了,只需要重新定义视图就可以了,应用不需要修改。2)权限控制。可以通过视图来限制访问表的行和列。限制行:create view v_t...2014-12-10 16:24:06 · 68 阅读 · 0 评论 -
MySQL复制-主从原理
1 什么是复制同它字面的意思一样,复制要解决的问题就是让一台服务器的数据同其他服务器保持同步,同文件copy等的意思相同,就是将修改的数据从一台数据库服务器拷贝到另外一台或者多台数据库服务器。2 为何要有这玩意解决高并发和系统的水平伸缩通常需要采用读写分离架构,通过将主库产生的数据同步到多个备库,然后将读操作分担到备库中,这个同步就需要使用复制技术。为了保障系统的高可用性需...2014-12-11 16:39:10 · 74 阅读 · 0 评论 -
数据库优化之数据类型优化
本文不含数据库服务器配置优化,仅从应用程序设计的角度考虑数据库的设计优化方案。主要从三部分来说:1.数据类型优化 2.数据库设计优化 3.SQL查询优化 ,细心的观众会觉得少了点什么,索引,对当然得有索引,索引忒重要,这个最后说。这样既有宏观设计层面的,还有微观数据类型层面的,这就是俗话说的:上得了厅堂,下得了厨房,斗得了小三...如果数据库遇到了性能瓶颈,通常需要从这4方面总体设计,...2014-12-16 11:13:17 · 93 阅读 · 0 评论 -
数据库优化之数据库设计优化策略
1)范式和反范式第一范式:每一列都是一个不可分割的原子数据项。第二范式:第一范式基础上消除部分依赖。第三范式:第二范式基础上消除传递依赖。反范式是针对第三范式来说的,通过添加冗余的方式破坏了第三范式,前两个范式还是要遵循的。范式的优点:a.写入快,因为不需要写冗余数据,所以减少了写的负担。b.更新快,因为通常只需要更新更少的数据。c.由于没有冗余,所以不会造...2014-12-16 11:13:58 · 225 阅读 · 0 评论 -
数据库优化之SQL查询优化
SQL查询优化:1 MySQL查询路径MySQL查询路径如下图所示: [img]http://dl2.iteye.com/upload/attachment/0104/4499/a310e182-2678-3115-b630-1eabf074760e.png[/img]查询的生命周期大致包括:从客户端 到服务器,然后在服务器上进行解析,生成执行计划,执行...2014-12-17 17:30:21 · 119 阅读 · 0 评论 -
索引原理
1 索引的定义索引是存储引擎用于快速找到记录的一种数据结构。 也就会说索引也是一种数据结构,也占用磁盘空间。2 索引的价值索引是对查询优化最有效的手段,可以将查询提升几个数量级,相当牛掰啊。索引优点:1)索引大大减少了服务器需要扫描的数据量。2)索引可以帮助服务器避免排序和临时表。3)索引可以将随机IO变为顺序IO。3 索引原理数据库索引可以...2014-12-20 18:05:48 · 90 阅读 · 0 评论