骏马金龙 (新博客:www.junmajinlong.com)

网名骏马金龙,钟情于IT世界里的各种原理和实现机制,强迫症重症患者。爱研究、爱翻译、爱分享。特借此一亩三分田记录自己成长点滴!!!

(MariaDB/MySQL)MyISAM存储引擎读、写操作的优先级

分类: 数据库系列

MariaDB/MySQL中使用表级锁的存储引擎(例如MyISAM、Aria(MariaDB对MyISAM引擎的改进,前身是MyISAM))在读(select)、写操作(insert、delete、update、replace)上有优先级的概念。默认情况下,写操作的优先级高于读操作。注:不适用于InnoDB存储引擎。

以MyISAM为例。当有进程正在写MyISAM表的时候,又有新的读操作、写操作出现,则会先执行完所有的写操作,等写完后才会读表。实际上并非总是先执行完所有写操作,因为有系统变量max_write_lock_count控制最大写锁数量,当这些数量的写操作完成后会转为执行读操作。

所以,INSERT、LOAD DATA INFILE、UPDATE、REPLACE、DELETE语句都有LOW_PRIORITY关键字,用来降低对MyISAM存储引擎的写操作优先级,使得MariaDB先执行完所有的读操作后再执行写操作。而SELECT语句有HIGH_PRIORITY关键字,用来提高读操作的优先级。除了这两个关键字,还可以设置系统变量low_priority_updates=on来降低写操作优先级。

唯一需要注意的是,INSERT语句不仅有LOW_PRIORITY,也有HIGH_PRIORITY。当使用INSERT HIGH_PRIORITY语句时,表示禁用INSERT的并发插入行为。

 

转载请注明出处:https://www.cnblogs.com/f-ck-need-u/p/8907252.html

如果觉得文章不错,不妨给个打赏,写作不易,各位的支持,能激发和鼓励我更大的写作热情。谢谢!

posted @   骏马金龙  阅读(2000)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示

感谢您的支持

扫描二维码打赏

支付宝打赏