网站地图    收藏   

主页 > 后端 > mysql数据库 >

mysql高效编程阅读摘要--高级应用篇 - mysql数据库

来源:自学PHP网    时间:2015-04-16 10:51 作者: 阅读:

[导读] mysql高效编程阅读摘要--高级应用篇MYSQL高级应用篇一,事务处理及锁定1,mysql提供的存储引擎(storage engine)MyISAM 默认的高速引擎,不支持事务处理InnoDB 支持行锁定以及事务处理,比...

mysql高效编程阅读摘要--高级应用篇
 
MYSQL高级应用篇
 
一,事务处理及锁定
1,mysql提供的存储引擎(storage engine)
 
MyISAM 默认的高速引擎,不支持事务处理
InnoDB 支持行锁定以及事务处理,比MyISAM处理速度稍慢
/*ISAM   MyISAM引擎的前身。mysql5.0以后不再标准安装了
MERGE  将多个MyISAM类型的表作为一个表来处理????
MEMORY,HEAP 只在内存上保存数据
Falcon 一种新的支持事务处理的引擎
ARCHIVE 将数据压缩后保存(只能进行insert和select操作)
CSV     以CSV形式保存数据(应用于跨平台数据交换)*/
 
小技巧~~~show create table custom;  语句执行后显示的数据杂乱无章这是可是将结尾的分号换成\G 则得到的结果会显得有条理的多
 
alter table custom engine=MyISAM;修改表的存储引擎,如果不行查看一下my.ini是否将innoDB激活了
 
2,事务的处理
select * from custom ;//查看数据表中内容,有三数据
begin;
delete from custome;
select * from custome;//数据表无数据
rollback ;
select * from custom ;//数据表三数据
 
 
 
 
set autocommit=0;
select * from custome //四条数据
insert into custom values (‘T0001’,"王二",...);
select * from custom //五条数据
rollback ;//四条数据
 
 
begin;
insert into custom values (‘T0001’,"王二",...);
insert into custom values (‘T0002’,"王三",...);
savepoint sp;
insert into custom values (‘T0003’,"王四",...);
rollback to savepoint sp; //回到王三
 
 
注意:一下几条命令,执行后江北自动提交,是在事务处理控制之外
drop database; drop table;drop;alter table;
 
 
3,多用户数据更新中历届事务处理的分离水平
分离水平越高数据的整合性随之越高,但同时运行性下降!!
事务处理的分离水平:
非提交读取 不可重复读取幻想读取
read uncommitted    1     1    1
read committed        0      1   1
 
repeatable read 0      0    1
 
serializable               0      0    0
 
 
 
非提交读取又叫脏读~能从别的事务处理中读取到还没有提交的更新数据。read uncommitted水平是对其他从
事务处理中读取动作没有进行任何显示的分离水平,通常不推荐!
 
 
不可重复读取~是在某一事务处理中对同一数据进行多次读取,但是由于其他事务处理的更新动作读取的数据状态
发生了改变。由于事务处理A的更新动作,使得事务处理B第一次与第二次看到的结果不同!
发生在read committed以下的分离水平,要想避免则需将分离水平提高到read committed水平。
 
 
set session transaction isolation level read committed;
 
 
幻想读取~~在某一事务处理中对同一数据进行多次读取时,由于其他的事务处理进行了插入/删除的动作
产生了结果中出现了第一次读取时不存在的数据,或者第一次读取时有的数据消失了的现象。
要消除则将分离水平提升至serializable水平。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论