- 1 初识IaaS、PaaS和SaaS
- 2 扒开Kafka的神秘面纱
- 3 吃透 MQ 的本质
- 4 Redis是什么?它好在哪里
- 5 什么是模型视图控制器 (MVC)
- 6 浅析GET和POST两种基本请求方法的区别
- 7 SQL Server Profiler工具简介及使用方法
- 8 HL7体系入门级介绍
- 9 C# VS2019创建和发布webservice服务接口入门
- 10 Nginx Windows详细安装部署教程
- 11 Nginx 服务器SSL证书安装及URL跳转
- 12 IIS 服务器安装SSL证书及URL重写
- 13 Sqlserver 开窗函数over()的语法
- 14 SQL Server之深入理解STUFF
- 15 SQL强大的行转列功能(内置函数pivot及注意事项)
发布
84
积分
81
技术笔记2021/1/11
技术笔记2022/4/15
发布
84
积分
81
技术笔记2022/1/27
发布
84
积分
81
技术笔记2021/11/26
有些人使用document.write的方式来加载js,这种方法有很多问题,并不推荐使用这种方法。
这里就介绍几种常见的调用方法。
发布
7
积分
60
技术笔记2021/5/31
发布
84
积分
81
技术笔记2021/3/24
发布
84
积分
81
技术笔记2021/2/22
发布
84
积分
81
技术笔记2021/2/22
发布
84
积分
81
技术笔记2021/2/22
发布
84
积分
81
技术笔记2021/2/22
每个使用关系型数据库的程序都可能遇到数据死锁的情况。理解什么是死锁之前先要了解锁定的概念:如果需要“修改”一条数据,首先数据库管理系统会在上面加锁,以保证在同一时间只有一个事务能进行修改操作。锁定(Locking)发生在当一个事务获得对某一资源的“锁”时,这时,其他的事务就不能更改这个资源了,这种机制的存在是为了保证数据一致性。
多数情况下,可以认为如果一个资源被锁定,它总会在以后某个时间被释放。而死锁发生在当多个进程访问同一数据库时,其中每个进程拥有的锁都是其他进程所需的,由此造成每个进程都无法继续下去。简单的说,进程A等待进程B释放他的资源,B又等待A释放他的资源,这样就互相等待就形成死锁。
导致数据库死锁的原因:
一般情况只发生锁超时,就是一个进程需要访问数据库表或者字段的时候,另外一个程序正在执行带锁的访问(比如修改数据),那么这个进程就会等待,当等了很久锁还没有解除的话就会锁超时,报告一个系统错误,拒绝执行相应的SQL操作。
发生死锁的情况比较少,比如一个进程需要访问两个资源(数据库表或者字段),当获取一个资源的时候进程就对它执行锁定,然后等待下一个资源空闲,这时候如果另外一个进程也需要两个资源,而已经获得并锁定了第二个资源,那么就会死锁,因为当前进程锁定第一个资源等待第二个资源,而另外一个进程锁定了第二个资源等待第一个资源,两个进程都永远得不到满足。
发布
84
积分
81
技术笔记2021/2/22
发布
84
积分
81
技术笔记2021/2/3
那么,如果我们想往自增列插入我们指定的数据时该怎么做呢?