`
truelove12358
  • 浏览: 77660 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Mysql 会导致锁表的语法-线上问题常有

 
阅读更多

最近再找一些Mysql锁表原因,整理出来一部分sql语句会锁表的,方便查阅,整理的不是很全,都是工作中碰到的,会持续更新

笔者能力有限,如果有不正确的,或者不到位的地方,还请大家指出来,方便你我,方便大家。

此测试环境

Mysql 5.5 基于innodb 引擎


  1. insertintotable1valuesselectfromtable2….

此种方法,会锁table2
  1. deletetable1fromtable1innerjointable2ontable1.id=table2.id…

此种方法,会锁table2
  1. updatetabel1,table2settable1.name=’feie’wheretable1.id=table2.id

此种方法,会锁table2
  1. updatetabel1,table2settable1.name=’feie’wheretable1.id=table2.idandtable1.id=1;

此种方法,会锁table2.id=1的记录

-----------------------------------------第二次编辑分割线--------------------------------------

假设kid 是表table 的 一个索引字段 且值不唯一
1.如果kid 有多个值为12的记录那么:
update table set name=’feie’ where kid=12;
会锁表
2.如果kid有唯一的值为1的记录那么:
update table set name=’feie’ where kid=1;
不会锁
总结:用索引字段做为条件进行修改时, 是否表锁的取决于这个索引字段能否确定记录唯一,当索引值对应记录不唯一,会进行锁表,相反则行锁。

如果有两个delete

kid1 与 kid2是索引字段
语句1 delete from table where kid1=1 and kid2=2;
语句2 delete from table where kid1=1 and kid2=3;
这样的两个delete 是不会锁表的
语句1 delete from table where kid1=1 and kid2=2;
语句2 delete from table where kid1=1 ;
这样的两个delete 会锁表
总结:同一个表,如果进行删除操作时,尽量让删除条件统一,否则会相互影响造成锁表

分享到:
评论

相关推荐

    php项目系统分析

    同时,记录错误日志有助于排查问题。 6. **性能优化**:PHP性能优化涉及代码优化、数据库查询优化和服务器配置调整等多个方面。例如,避免全局变量、减少数据库查询次数、使用缓存技术(如Memcached或Redis)、利用...

    基于php火车订票系统设计与实现.docx

    随着互联网技术的发展,传统的火车站窗口购票方式已经不能满足大众的需求,线上购票系统不仅方便了旅客,也减轻了车站的压力。PHP火车订票系统的设计与实现,旨在提供一个用户友好、安全可靠的在线购票平台,提高...

    vblog-master.zip

    Vue.js是一款轻量级、高性能的JavaScript库,常用于构建用户界面,而Spring Boot是Java领域广泛使用的快速开发框架,尤其适合构建微服务和RESTful API。 1. **Vue.js**: Vue.js 是一个渐进式的JavaScript框架,它...

    Linux操作系统基础教程

    第三讲 Linux下的网络服务,配置问题和常用工具.................................................................24 一.Linux下的网络服务.....................................................................

    基于python的书籍售卖系统源码数据库论文.docx

    目前,市面上已有许多成熟的电商平台,但大多数系统设计复杂,对于初学者来说存在一定的学习门槛。而Python语言以其简洁明了的语法特性,成为了许多初学者的首选。结合PHP的后端处理能力和MySQL数据库的高效存储,...

    精品--基于python的二手商品交易平台 python+django开发的供需平台 - 毕业设计 - 课程设计.zip

    Python因其简洁易读的语法和强大的库支持,常被用于开发Web应用程序,而Django则是一个高级的Python Web框架,它提供了一整套解决方案,包括数据库交互、用户认证、URL路由等,非常适合构建这样的平台。 【描述】...

    基于PHP的考研论坛系统的设计与实现.doc

    其语法简洁,功能强大,适合快速开发,且与MySQL数据库配合良好,是构建Web应用的理想选择。 2.2 MySQL MySQL是一款关系型数据库管理系统,具有高性能、高可靠性和易于管理的特点。在本系统中,MySQL将用于存储用户...

    基于PHP的飘扬医院挂号系统php版源码.zip

    这个系统可能是为了帮助医疗机构实现线上预约挂号功能,提高服务效率,减少患者在医院现场等待的时间。源码分析可以帮助我们深入理解PHP在Web开发中的应用,尤其是医疗信息化领域。 【描述】"基于PHP的飘扬医院挂号...

    基于PHP的得推培训O2O系统源码.zip

    3. **数据库交互**:PHP常与MySQL、SQLite等数据库配合使用,学习如何使用PHP的PDO(PHP Data Objects)或mysqli扩展进行数据查询、插入、更新和删除操作。 4. **Web框架**:如果系统使用了如Laravel、Symfony或...

    校园社团招新系统.zip

    Python作为一款强大的、易学易用的编程语言,因其丰富的库支持和简洁的语法特性,常被用于开发各种类型的软件,包括Web应用、数据处理和自动化任务等。在本项目中,Python的这些优势得以充分展现。 首先,让我们...

    毕业设计python网上商城系统.zip

    【标签】:“毕业设计 python”表明该项目的核心技术栈是Python语言,Python因为其简洁的语法和丰富的库资源,常用于web开发,特别是Django和Flask等框架,为快速构建web应用提供了便利。 【压缩包子文件的文件名称...

    基于jsp的景区票务系统源码数据库.zip

    这个系统利用Java、JSP技术来实现,旨在提供一个高效、便捷的线上售票和管理平台。 【描述】:该压缩包“基于jsp的景区票务系统源码数据库.zip”显然是一个用于教学或实践目的的软件开发项目。通过解压后,我们可以...

    幸运九宫格抽奖系统带后台源码

    这种类型的系统常用于各种线上线下活动,如促销、庆典或者营销活动中,以增加互动性和趣味性,吸引用户参与。 【描述解析】 描述中的"幸运九宫格抽奖系统带后台源码"进一步强调了该系统具备完整的源代码,意味着...

    基于PHP的oTraining php在线培训系统服务器安装包.zip

    oTraining PHP在线培训系统是一款基于PHP开发的教育平台,用于提供线上课程、学习资源和互动教学功能。这个服务器安装包包含所有必要的组件,使你能够快速地在自己的服务器上搭建起一个完整的教育管理系统。让我们...

    基于微信小程序的校园兼职系统(微信小程序完整前后端代码).zip

    开发者需要对服务器运维有一定的了解,如Node.js环境的搭建、数据库如MySQL或MongoDB的安装和配置。 "nodejsgl9ig"可能是指使用了Node.js作为后端开发语言。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,...

    基于PHP的cms企业建站系统 (含小程序).zip

    3. **企业建站**:企业建站系统应具备专业且灵活的模板设计,适应不同行业的需求,同时需要有良好的SEO优化功能,帮助企业提升在线可见度。此外,系统还应支持多语言、多设备兼容,满足全球化和移动互联网的需求。 ...

    zutzuTechTask

    【标题】"zutzuTechTask" 涉及的是一个技术任务,可能是一个软件开发项目或者编程挑战,其中核心是使用PHP语言。...对于有经验的开发者,这可能是一个挑战性的任务,需要你运用创新和高效的方法解决问题。

    xnOnlineGarage:侠盗猎车手

    Lua 是一种轻量级的脚本语言,常用于游戏开发中的扩展和脚本编写,因其简洁的语法和高效的执行而受到青睐。在 FiveM 中,Lua 通常用于创建服务器端的脚本,这些脚本控制游戏逻辑、玩家交互以及各种自定义功能,比如...

    maquetacion-curie:Diseñofronted de sitio web Curie

    学习PHP的基础语法,理解如何与MySQL等数据库交互,以及如何使用PHP框架(如Laravel或CodeIgniter)可以提高开发效率。 4. **Web安全**:在涉及用户数据的网站中,了解如何防止SQL注入、跨站脚本攻击(XSS)和其他...

Global site tag (gtag.js) - Google Analytics