Innodb里面关于如何处理死锁有这么一句:
Access your tables and rows in a fixed order. Then transactions form well-defined queues and do not deadlock. 
问下,这个怎么理解,不是很明白 fixed order是么样子的order?

解决方案 »

  1.   

    取数据的时候按照固定的顺序
    比如两个表a,b
    在事务中用到两个表的话永远是先用a再用b
      

  2.   

    这个是避免死锁中的常用技术,不只是数据库中,操作系统中也一样。对资源的访问要求必须按顺序来获取,比如按资源号大小来取,必须先得到A,然后才能得到B。 所有进程都是这样的话,就不会出现 甲 锁着A 等 B, 乙锁着B等A 这样的死锁。
    操作系统原理的教材上有一个章节会讲这些基础知识。