Welcome 微信登录

首页 / 数据库 / MySQL

MySQL_InnoDB之事务与锁详解

MySQL_InnoDB之事务与锁详解

引题:为何引入事务?1>.数据完整性2>.数据安全性3>.充分利用系统资源,提高系统并发处理的能力1.事务的特征事务具有四个特性:原子性(Atomiocity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),这四个特性简称ACID特性。1.1原子性事务是数据库的逻辑工作单位,事务中包括的所有操作要么都做,要么都不做。1.2一致性事务执行的结果必须是使数据库从一个一致性的状态变到另外一个一致...
MySQL事务的隔离级别和日志记录模式选择

MySQL事务的隔离级别和日志记录模式选择

导读:MySQL的四种事务隔离级别:Read-uncommitted、Read-committed、Repeatable-read、Seriailizable,相信大家都清楚各自异同,不清楚的朋友可以查看另外一篇技术文章:MySQL_InnoDB之事务与锁详解。但是对于第二类、第三类隔离级别之间的性能区别和应用场景就会容易出现一些理解上的偏差,尤其是熟悉Oracle的技术朋友,为此专门撰写一篇技术文章,引导大家合理地选择这两种事务隔离级别。测试环境及名词解...
Oracle悲观锁和乐观锁浅析

Oracle悲观锁和乐观锁浅析

为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突。为了解决这个问题,大多数数据库用的方法就是数据的锁定。 数据的锁定分为两种方法,第一种叫做悲观锁,第二种叫做乐观锁。什么叫悲观锁呢,悲观锁顾名思义,就是对数据的冲突采取一种悲观的态度,也就是说假设数据肯定会冲突,所以在数据开始读取的时候就把数据锁定住。而乐观锁就是认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让用...
关于Oracle 数据库update 卡死的问题

关于Oracle 数据库update 卡死的问题

今天做eclipse项目的小修改,发现以前可以运行的项目部分今天总是卡死,开始以为是数据库没有关闭连接,导致连接堵塞,后来仔细一看每个都有关闭链接。下断点调试发现是在update的时候出问题,程序卡死在update上面。我用plsql在数据库中查询同样是卡死状态,换一条数据能够正常执行。google了一下找到问题出现的原因。由于在执行update的时候,当程序已经执行了executeupdate 但是还没有提交事务 commit ,Oracle自动锁住该条...
Oracle %type和%rowtype小实例

Oracle %type和%rowtype小实例

//%type //如果声明的变量是直接映射到数据库的某一列上,那么就可以使用%type关键字将变量 //锚定到这个列上。这样做有什么好处呢? //比如: //declare v_ename scott.emp.ename%type; //当数据类型发生变化时,此方法显得非常灵活。 //如果更改了列的长度,那么锚定到该列上的所有变量都会自动更改其长度; //假设我们将v_ename定义为varchar2(10),那么当emp表中的ename列发生变化时, ...
Oracle-数据库坏块

Oracle-数据库坏块

一. 什么是数据库的坏块首先我们来大概看一下数据库块的格式和结构:数据库的数据块有固定的格式和结构,分三层:Cache layerTransaction layerData layer在我们对数据块进行读取写入操作的时候,数据库会对要读写的数据块做一致性的检查,其中包括:数据块的类型、数据块的地址信息、数据块的SCN号以及数据块的头部和尾部。如果发现其中有不一致的信息,那数据库就会标记这个数据块为坏块了。数据库的坏块分为两种:逻辑坏块和物理坏块逻辑坏块(L...
Oracle PL/SQL编程存储过程与函数

Oracle PL/SQL编程存储过程与函数

本篇主要内容如下:6.1 引言6.2 创建函数6.3 存储过程6.3.1 创建过程6.3.2 调用存储过程6.3.3 AUTHID6.3.4 PRAGMA AUTONOMOUS_TRANSACTION6.3.5 开发存储过程步骤6.3.6 删除过程和函数6.3.7 过程与函数的比较6.1 引言过程与函数(另外还有包与触发器)是命名的PL/SQL块(也是用户的方案对象),被编译后存储在数据库中,以备执行。因此,其它PL/SQL块可以按名称来使用他们。所以,可...
Linux下MySQL 5.5.11编译安装笔记(完整安装教程)

Linux下MySQL 5.5.11编译安装笔记(完整安装教程)

MySQL 最新的版本5.5.11需要cmake编译安装,估计以后的版本也会采用这种方式,网上找了一些安装方法有些地方是错的,自己整理一份 所以特地记录一下安装步骤及过程,以供参考!1 mysql 5.5.11编译安装1.1 安装所需要系统库相关库文件gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*1....
<< 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 >>