引擎MyISAM强调的是性能,比InnoDB快,但不提供事务支持,复杂的任务,关联。支持表锁。类似excel表格。安装时默认模式。InnoDB,支持外部键,可以执行大量的insert和update,像银行系统两个引擎,类似apache两个工作模式Database库>tables表>row行MyISAM类型的表强调的是..
分类:
数据库 时间:
2017-06-15 00:52:24
阅读次数:
253
锁主要用于多用户环境下保证数据库完整性和一致性。 我们知道,多个用户能够同时操纵同一个数据库中的数据,会发生数据不一致现象。即如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题。这些问题包括:脏读、不可重复读和幻读 脏读就是指当一个事务正在访问数据,并且对数据 ...
分类:
数据库 时间:
2017-06-13 20:43:03
阅读次数:
359
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
其他好文 时间:
2017-06-06 14:18:59
阅读次数:
180
MVCC:Multi-Version Concurrency Control 多版本并发控制。笔者用自己的话对MVCC做一个总结:通过某个时间点上的数据快照对数据的版本控制,目的是为了避免使用各种锁影响并发性能 ●MySQL锁机制 说到锁,MySQL里提供了几种锁机制 读写锁 表锁 (MYISAM使 ...
分类:
数据库 时间:
2017-05-30 19:36:34
阅读次数:
312
1、存储结构2、存储空间3、可移植性、备份及恢复4、事务支持5、自增长6、表锁差异7、全文索引8、表主键9、表的具体行数10、CURD操作11、外键MySQL存储引擎中的MyISAM和InnoDB区别详解
分类:
数据库 时间:
2017-05-27 23:57:51
阅读次数:
352
1 一丶解锁用户 2 --修改时间格式 3 alter session set nls_date_format = 'yyyy-MM-dd hh24:mi:ss'; 4 5 --查询锁住时间 6 select username,lock_date from dba_users where usern... ...
分类:
数据库 时间:
2017-05-26 10:39:49
阅读次数:
293
下面的几个语句查询到,但如何定位到对应的进程,还需要学习这些表的结构。 select * from information_schema.innodb_trx ## 当前运行的所有事务select * from information_schema.innodb_locks ## 当前出现的锁sel ...
分类:
数据库 时间:
2017-05-22 19:05:05
阅读次数:
153
根据我的经验,导致死锁的头号原因是外键未加索引(第二号原因是表上的位图索引遭到并发更新)。在以下两种情况下,Oracle在修改父表后会对子表加一个全表锁: 1)如果更新了父表的主键(倘若遵循关系数据库的原则,即主键应当是不可变的,这种情况就很少见),由于外键上没有索引,所以子表会被锁住。 2) 如果 ...
分类:
数据库 时间:
2017-05-22 13:33:24
阅读次数:
256
乐观锁和悲观锁 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁 ...
分类:
Web程序 时间:
2017-05-22 09:25:59
阅读次数:
184
锁的基本原理 为了保证数据的完事性和一致性,数据库系统采用锁来实现事务的隔离性。各种大型数据库采用的锁基本理论是一致的,但在具体实现上各有差别。 从并发事务锁定的关系上看,可以分为共享锁定和独占锁定。从锁定的对象不同,一般可以分为表锁定和行锁定。 锁 共享锁用于读取数据操作,它是非独占的,允许其他事 ...
分类:
数据库 时间:
2017-05-12 00:02:58
阅读次数:
255