猫言猫语

严以律己·宽以待人·自强不息·知行合一

使用MySQL中的LOW_PRIORITY

| 使用MySQL中的LOW_PRIORITY已关闭评论

本文介绍了MySQL中MyISAM存储引擎的锁规则,并介绍如何使用LOW_PRIORITY降低写操作的优先级。

MyISAM锁规则

MyISAM存储引擎的读锁和写锁是互斥的,读操作执行时产生读锁,写操作执行前产生写锁,写操作检测到存在读锁,则会等待读锁释放后执行,后继操作检测到存在写锁,则会等待写锁释放后执行。

LOW_PRIORITY

如果在SQL中指定LOW_PRIORITY,可使写操作的优先级降低,相当于原来的写锁在写操作执行前就会产生,当指定LOW_PRIORITY后,写锁在写操作执行时才会产生,因此可降低读操作的等待时间。

设置优先级副作用

虽然修改LOW_PRIORITY可降低读操作的等待时间,但由于降低了写操作的优先级,写操作需等待读锁都释放后才可执行,使MySQL队列中有可能堆积写操作。

评论已关闭。