记一次mysql事务未提交导致锁未释放的问题 ## 查看未提交的事务(3秒内未操作的事务) SELECT p.ID AS conn_id, P.USER AS login_user, P.HOST AS login_host, p.DB AS database_name, P.TIME AS trx_sleep_seconds, TIME_TO_SEC(TIMEDIFF(NOW(),T.trx_started)) AS trx_open_seconds, T.trx_started, T.trx
1.对数据库的连接SqlConnection con = new SqlConnection(constr);使用完成后,应该至少应该close或dispose关闭.否则会导致数据库例如(SQl2005)中处于sleeping的进程增加并且不能自己销毁,最终会导致出现"“连接超时,已经到达最大连接数等信息”. 其解决方法:见微软的官方说明“如果 SqlConnection 超出范围,则不会将其关闭.因此,除非将代码放在 using 语句内,否则必须调用 Close 或 Dispose
前几天犯了个低级错误.在一个事务方法里老是查询不到某条记录,可是debug卡住时,用db工具查.又能查出值. 经过一番折腾,原来是我在同一个事务里 查询 了已删除可是未提交的数据.当然查询不到了! .! 情况是这种: Service层(spring事务管理配置在这一层,此方法配了PROPAGATION_REQUIRED)有个方法function m()写得非常长. 当中有2步是 1. delete from B where objectid ='TestB' 2. select * from A