今天碰到个怪问题。有人在界面上删除一条记录,然后界面就死在那了,然后用select 访问表,也访问不了了,一直在等待。
[@more@]今天碰到个怪问题。有人在界面上删除一条记录,然后界面就死在那了,然后用select 访问表,也访问不了了,看了一下数据库,在表上有个锁,导致select 操作lock sleep 了,可是。。。 就算有锁,也不应该会阻塞select 阿,晕。本来就对锁不是很清楚,回去查了下资料。
原来对于select DOL表会要求 共享意图表锁和共享行锁,对于delete DOL表会要求 排它意图表锁和数据行上的更新行锁和随后的排它行锁。
可对于APL表要求的都是页锁,因为select 操作请求到了被加了排他页锁的页,但是共享页锁和排他页锁是不兼容的,所以会导致锁等待。
原因很简单,但是我当时一时没想到是因为表是APL的表,汗,这年头还有人建APL表。(当然这正是我的猜测而已,明天要去确认一下)
后记:今天股市大跌阿,不知道会不会一直跌下去,股市难道又不行了,不要阿,大哥可是刚刚入市阿。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133835/viewspace-896335/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/133835/viewspace-896335/