Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


17.7.6 事务调度

InnoDB 使用内容竞争事务调度(CATS)算法来优先化等待锁定的事务。当多个事务等待同一个对象的锁定时,CATS 算法确定哪个事务首先获得锁定。

CATS 算法根据事务阻塞其他事务的数量来prioritize 等待的事务。例如,如果两个事务等待同一个对象的锁定,那么阻塞最多事务的事务将被分配更高的调度权重。如果权重相等,则优先考虑最长等待的事务。

您可以通过查询INNODB_TRX表中的TRX_SCHEDULE_WEIGHT列来查看事务调度权重。权重只计算等待的事务。等待的事务是那些在LOCK WAIT事务执行状态下报告的,根据TRX_STATE列。如果事务不等待锁定,则TRX_SCHEDULE_WEIGHT值为 NULL。

INNODB_METRICS计数器用于监控代码级别事务调度事件。有关使用INNODB_METRICS计数器的信息,请见第17.15.6节,“InnoDB INFORMATION_ SCHEMA Metrics 表”.

  • lock_rec_release_attempts

    记录锁释放尝试的次数。单个尝试可能导致零或多个记录锁被释放,因为可能存在零或多个记录锁在同一个结构中。

  • lock_rec_grant_attempts

    记录锁授予尝试的次数。单个尝试可能导致零或多个记录锁被授予。

  • lock_schedule_refreshes

    等待图形分析的次数,以更新预定的事务权重。