
数据库
每天都要开开心心的过
这个作者很懒,什么都没留下…
展开
-
将死锁减至最少的方法
1、按同一顺序访问对象如果所有并发事务按同一顺序访问对象,则发生死锁的可能性会降低。例如,如果两个并发事务获得 Supplier 表上的锁,然后获得 Part 表上的锁,则在其中一个事务完成之前,另一个事务被阻塞在 Supplier 表上。第一个事务提交或回滚后,第二个事务继续进行。不发生死锁。将存储过程用于所有的数据修改可以标准化访问对象的顺序。2、避免事务中的用户交互避免编写包含用户交互的事务,因为运行没有用户交互的批处理的速度要远远快于用户手动响应查询的速度,例如答复应用程序请求参数的提.原创 2021-08-02 23:02:56 · 296 阅读 · 0 评论 -
死锁的预防和解除
理解了死锁的原因,和产生死锁的必要条件,我们就可以最大可能地避免、预防和解除死锁。所以,在系统设计、进程调度等方面注意如何不让这四个必要条件成立,如何确定资源的合理分配算法,避免进程永久占据系统资源。此外,也要防止进程在处于等待状态的情况下占用资源,在系统运行过程中,对进程发出的每一个系统能够满足的资源申请进行动态检查,并根据检查结果决定是否分配资源,若分配后系统可能发生死锁,则不予分配,否则予以分配 。因此,对资源的分配要给予合理的规划。...原创 2021-08-02 22:59:15 · 114 阅读 · 0 评论 -
产生死锁的必要条件
(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 注:以上四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。...原创 2021-07-27 22:27:01 · 168 阅读 · 0 评论 -
产生死锁的主要原因
(1)系统资源不足。(2) 进程运行推进的顺序不合适。(3)资源分配不当等。注:如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。...原创 2021-07-27 22:26:10 · 1036 阅读 · 0 评论 -
死锁的定义
所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。 一种情形,此时执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被其他线程占用并堵塞了的资源。锁有多种实现方式,比如意向锁,共享-排他锁,锁表,树形原创 2021-07-27 22:25:16 · 506 阅读 · 0 评论 -
数据库的查询语句
简单查询:select 字段名 from 表名 where 条件 例:select name,age from student where sex=”女”# 查询所有女生的姓名和年龄 注:select 后面跟‘*’时表示查询符合条件的所有数据Distinct 过滤重复行:select distinct 字段名 from 表名 , 例:select name,age from student #显示student中的姓名和年龄,但重复的数据只显示一次。注:数据去重也可以使用分组来进行模糊匹...原创 2021-07-27 22:20:21 · 698 阅读 · 0 评论 -
数据库操纵语言(DML)
Insert 插入语句:insert into 表名(字段名1,字段名2,字段名3,…)values(”字段值1”,”字段值2”,”字段值3”…)例:insert into student(userID,name,sex,…)values(“001”,”张三”,”男”,…);Insert …select语句:insert into 表名(字段名1,字段名2,字段名3,…)select 语句例:insert into student(userID,name) select ID,name原创 2021-07-27 22:19:42 · 126 阅读 · 0 评论 -
数据库中库与表的基本操作
新建库指令:create database 数据库名。避免创建的数据库里的表出现乱码: create database 数据库名 default character set 字符集 collate 校对集 ,例: create database ecshop1 default character set utf8 collate utf8_general_ci。新建表格:create table 表名(字段名 数据类型(字段长度) 其他属性,字段名 数据类型(字段长度) 其他属性,...原创 2021-07-27 22:19:11 · 71 阅读 · 0 评论 -
数据库常用术语
数据库:数据库是一些关联表的集合。 数据表:表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。 列:一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。 外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。 索引:使用...原创 2021-07-27 22:17:35 · 1491 阅读 · 0 评论 -
数据库的定义
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。RDBMS 即关系数据库管理系统(Relational Database Management S原创 2021-07-27 22:14:37 · 637 阅读 · 0 评论