数据库的事务处理可以保证一组处理结果的正确性。mysql中只有INNODB和BDB引擎的数据表才支持事务处理,对于不支持事务的MyISAM引擎数据库可以使用表锁定的方法来实现相同的功能。 ...
分类:
数据库 时间:
2016-09-29 01:33:52
阅读次数:
173
一般发生表锁死这种低级问题,就有两种情况:1、程序员水平太菜,2、程序逻辑错误。 一旦发生系统会出现超时,关键是有可能你看不到正在活动的php进程,而系统的慢查询日志也不会记录,只能通过show full processlist去看, 如果有条件的话,完全可以定时去执行这个命令mysql -uuse ...
分类:
数据库 时间:
2016-09-11 09:02:34
阅读次数:
217
MySQL数据类型及sql模型
存储引擎,也被称为表类型:
MyISAM表:无事务,表锁
.frm:表结构定义文件
.MYD:表数据
.MYI:索引
InnoDB表:事务,行锁
.frm:表结构
.ibd:表空间(数据和索引)
所有表共享一个表空间文件;
建议:每表一个独立的表空间文件;(修改配置文件在[mysqld]..
分类:
数据库 时间:
2016-09-04 17:49:22
阅读次数:
239
表锁分为read和write read锁: lock table 表名 read; unlock tabls; #解锁 当前会话只能读取数据,不能插入数据。 其他会话能读取数据,不能插入数据,解锁后数据插入。 write锁: lock table 表名 write; 当前会话可以读书数据,可以插入数 ...
分类:
数据库 时间:
2016-09-02 00:44:23
阅读次数:
156
项目上的另外一个需求是: 在做统计的时候需要将当前表锁定不能更新当前表记录 直接上代码 在Thread 2中 先sleep 1s 保证了Thread 1先执行 然后在Thread 1执行结束之后,Thread 2才能执行更新操作。 执行结果如下: Thread 1 commit Thu Sep 01 ...
分类:
数据库 时间:
2016-09-01 18:09:54
阅读次数:
186
现有数据库开发过程中对事务的控制、事务锁、行锁、表锁的发现缺乏必要的方法和手段,通过以下手段可以丰富我们处理开发过程中处理锁问题的方法。For Update和For Update of使用户能够锁定指定表或表的数据行这个功能在实际应用中具有很重要的意义,特别对于多用户多线程处理中如要先获取数据通过判 ...
分类:
编程语言 时间:
2016-08-30 18:07:42
阅读次数:
255
读写锁:. 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般 对MyISAM表的读 ...
分类:
数据库 时间:
2016-08-24 19:10:57
阅读次数:
221
deal:1、查询是否锁表showOPENTABLESwhereIn_use>0;查看正在锁的事务SELECT*FROMINFORMATION_SCHEMA.INNODB_LOCKS;查看等待锁的事务SELECT*FROMINFORMATION_SCHEMA.INNODB_LOCK_WAITS;2、查询进程showprocesslist;id#ID标识,要kill一个语句的时候很有用use#当前连接用户hos..
分类:
数据库 时间:
2016-08-24 17:40:15
阅读次数:
189
数据库的事务处理可以保证一组处理结果的正确性。mysql中只有INNODB和BDB引擎的数据表才支持事务处理,对于不支持事务的MyISAM引擎数据库可以使用表锁定的方法来实现相同的功能。mysql的事务处理主要有两种方法来实现。1、用begin,rollback,commit来实现。begin开始一个事务r..
分类:
数据库 时间:
2016-08-10 01:04:40
阅读次数:
152
这是有执行的update或者insert造成你目前正在操作的表锁表了 SQL> select session_id from v$locked_object; SESSION_ID 56 SQL> SELECT sid, serial#, username, osuser FROM v$sessio ...
分类:
其他好文 时间:
2016-08-04 06:47:54
阅读次数:
202