网站公告
推荐文章
- 1 安装和配置达梦数据库的ODBC驱动
- 2 利用winsw工具包装任何Windows程序作为服务
- 3 DBeaver安装与使用教程--好用免费的数据库管理工具
- 4 PgSQL简介及学习笔记
- 5 浅聊数据库设计SQL优化
- 6 Nginx 服务器正向和反向代理介绍与配置
- 7 Token是什么?和session、cookie相比,使用场景有什么区别?
- 8 详解 WebSocket 网络协议
- 9 F12 - 开发者工具详解
- 10 MSSQL STUFF函数用法之深入理解
- 11 MySQL数据库开发相关规范
- 12 HTML如何实现文字的滚动(跑马灯)效果
- 13 MySQL索引介绍及索引优化原则总结
- 14 初识IaaS、PaaS和SaaS
- 15 在JS文件中加载JS文件的方法
- 16 扒开Kafka的神秘面纱
- 17 吃透 MQ 的本质
- 18 Redis是什么?它好在哪里
发布
10
积分
95
浅析GET和POST两种基本请求方法的区别
技术笔记2021/7/12
你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。
但你真的搞清楚他们的区别了吗?本篇博文将进行简单剖析。
发布
10
积分
95
浅谈几种跨平台方案
技术笔记2021/5/31
发布
122
积分
801
互联网审方项目测试地址及Nginx配置文件
技术笔记2021/4/13
发布
122
积分
801
MSSQL清库语句
技术笔记2021/3/24
发布
122
积分
801
SQL Server Profiler工具简介及使用方法
技术笔记2021/3/10
故写此篇博文简单介绍SQL Server Profiler工具、BS系统的跟踪办法、数据库优化引擎。
发布
122
积分
801
HL7体系入门级介绍
技术笔记2021/3/5
简单的理解是正如市场上XML,JSON格式比较广泛一样,HL7也是一种数据格式,可以理解为一个字符串,只是这个字符串分为了好几个段而已。
本篇博文将简单介绍HL7体系。
发布
122
积分
801
C# VS2019创建和发布webservice服务接口入门
技术笔记2021/3/4
发布
122
积分
801
微信小程序 | 微信小程序插件嵌入之小白入门
技术笔记2021/2/25
本篇博文的主要目的是让你快速了解情况并入手嵌套公司产品。
发布
122
积分
801
截取SQL字符串的函数
技术笔记2021/2/22
发布
122
积分
801
有趣的SQL多行数据拼接
技术笔记2021/2/22
发布
122
积分
801
SQL分页存储过程(汇总)
技术笔记2021/2/22
发布
122
积分
801
数据库死锁问题及解决方法
技术笔记2021/2/22
每个使用关系型数据库的程序都可能遇到数据死锁的情况。理解什么是死锁之前先要了解锁定的概念:如果需要“修改”一条数据,首先数据库管理系统会在上面加锁,以保证在同一时间只有一个事务能进行修改操作。锁定(Locking)发生在当一个事务获得对某一资源的“锁”时,这时,其他的事务就不能更改这个资源了,这种机制的存在是为了保证数据一致性。
多数情况下,可以认为如果一个资源被锁定,它总会在以后某个时间被释放。而死锁发生在当多个进程访问同一数据库时,其中每个进程拥有的锁都是其他进程所需的,由此造成每个进程都无法继续下去。简单的说,进程A等待进程B释放他的资源,B又等待A释放他的资源,这样就互相等待就形成死锁。
导致数据库死锁的原因:
一般情况只发生锁超时,就是一个进程需要访问数据库表或者字段的时候,另外一个程序正在执行带锁的访问(比如修改数据),那么这个进程就会等待,当等了很久锁还没有解除的话就会锁超时,报告一个系统错误,拒绝执行相应的SQL操作。
发生死锁的情况比较少,比如一个进程需要访问两个资源(数据库表或者字段),当获取一个资源的时候进程就对它执行锁定,然后等待下一个资源空闲,这时候如果另外一个进程也需要两个资源,而已经获得并锁定了第二个资源,那么就会死锁,因为当前进程锁定第一个资源等待第二个资源,而另外一个进程锁定了第二个资源等待第一个资源,两个进程都永远得不到满足。