zoukankan      html  css  js  c++  java
  • mysql的线程处于System lock状态下

    The thread has called mysql_lock_tables() and the thread state has not been updated since. This is a very general state that can occur for many reasons.
    
    For example, the thread is going to request or is waiting for an internal or external system lock for the table. This can occur when InnoDB waits for a 

    table-level lock during execution of LOCK TABLES. If this state is being caused by requests for external locks and you are not using multiple mysqld servers
    that are accessing the same MyISAM tables, you can disable external system locks with the --skip-external-locking option. However, external locking is
    disabled by default, so it is likely that this option will have no effect. For SHOW PROFILE, this state means the thread is requesting the lock (not waiting
    for it).

    System lock

    这个线程是被mysql_lock_tables()调用的。这种状态可能是很多种原因造成的。

    例如,一个线程想请求或者正在等一个表的内部或者外部的system lock;

            也可能是InnoDB在执行lock tables的时候,等表级锁;

            也可能是请求内部锁,比如访问相同MyISM表没有用多个mysqld服务;

    遇到这种情况,可以用--skip-external-locking选项,禁用内部的system locks。然而,内部锁如果默认禁用的话,那个选项就会没用了。

    如果是在show profile的时候遇到这种状态,就说明这个线程正在请求锁(不是等)。

    来源:https://dev.mysql.com/doc/refman/5.7/en/general-thread-states.html 

  • 相关阅读:
    *洛谷P1858 多人背包
    ZOJ3469 Food Delivery
    Hdu5115 Dire Wolf
    Codevs 2765 隐形的翅膀
    Hdu4055 Number String
    Codevs 1300 文件排版
    洛谷 P1412 经营与开发
    Codevs 4357 不等数列
    codevs 3333 高级打字机
    Bzoj 1086: [SCOI2005]王室联邦
  • 原文地址:https://www.cnblogs.com/sunss/p/6404961.html
Copyright © 2011-2022 走看看