innodb 表锁 2008年10月19日 星期日 14:50 (2)由于MySQL的行锁是针对索引加的锁,不是针对记录加的锁,所以虽然是访问不同行的记录,但是如果是使用相同的索引键,是会出现锁冲突的。应用设计的时候要注意这一点。 例如,表tab_with_index的id字段有索引,name字段没有索引: mysql> alter table tab_with_index drop index name; Query OK, 4 rows affected (0.22 sec) Records: 4 Duplicates: 0 Warnings: 0 mys...
案例如下: 在使用Show innodb status检查引擎状态时,发现了死锁问题: *** (1) TRANSACTION: TRANSACTION 0 677833455, ACTIVE 0 sec, process no 11393, OS thread id 278546 starting index read mysql tables in use 1, locked 1 LOCK WAIT 3 lock struct(s), heap size 320 MySQL thread id 83, query id 162348740 dcnet03 dcnet Searching rows for update update TSK_TASK set STATUS_ID=1064,UPDATE_TIME=now ()...
翻译一段MySQL关于innodb的物理行结构的官方文档: Records in innodb ROW_FORMAT=COMPACT tables have the following characteristics: innodb ROW_FORMAT=COMPACT 的表,其中的记录有如下特点: Each index record contains a five-byte header that may be preceded by a variable-length header. The header is used to link together consecutive records, and...
来源:赛迪网 作者:艾文 分析,涉及的两条语句应该不会涉及相同的TSK_TASK记录,那为什么会造成死锁呢? 查询MySQL官网文档,发现这跟MySQL的索引机制有关。MySQL的innodb引擎是行级锁,我原来的理解是直接对记录进行锁定,实际上并不是这样的。 要点如下: 不是对记录进行锁定,而是对索引进行锁定; 在UPDATE、DELETE操作时,MySQL不仅锁定WHERE条件扫描过的所有索引记录,而且会锁定相邻的键值,即所谓的next-k...
来源:赛迪网 作者:艾文 最近,在项目开发过程中,碰到了数据库死锁问题,在解决问题的过程中,笔者对MySQL innodb引擎锁机制的理解逐步加深。 案例如下: 在使用Show innodb status检查引擎状态时,发现了死锁问题: *** (1) TRANSACTION: TRANSACTION 0 677833455, ACTIVE 0 sec, process no 11393, OS thread id 278546 starting index read mysql tables in use 1, locked 1 LOCK WAIT 3 lock struct(s), heap...
表里对经常做where条件的字段做了index,并且基数都很大,但是slow query中有时会出现操作缓慢的记录(超过slow-query的阈值2秒),用 mysql> 单独执行这些语句,都是立即完成的,没有等待 为什么有时慢呢? Slow query里的记录: Query_time: 2 Lock_time: 0 Rows_sent: 0 Rows_examined: 0 [ 本帖最后由 bigcat_eat_rat 于 2008-11-12 10:26 编辑 ]
以前的innodb变量设置太小,想不停止服务器更改为什么不可以? set global innodb_buffer_pool_size=8000000 竟然提示不存在这个变量? 请教,谢谢!
我的mysql 在做mysqldump的时候会出现以下错误,已经出现过几次了,这些错误前面会有一堆的乱码。 p. ( " c N T;innodb: End of page dump 090805 16:05:18 innodb: Page checksum 2131925968, prior-to-4.0.14-form check...
我有一张表,有30多个字段是text类型的, 现在报错:mysql got error 139 from stange engine 查了一下,是innodb引擎大小限制。。。 老大们指点一下该怎么改配置文件改变大小限制,或者怎么改引擎。。。