首页 » 软件开发 » 数据库知识整理——零零碎碎(索引数据聚集事务提交)

数据库知识整理——零零碎碎(索引数据聚集事务提交)

admin 2024-07-24 14:25:00 0

扫一扫用手机浏览

文章目录 [+]

ii、MyISAM

iii、performance_schema

解释一下事务的四大特性

A原子性:要么全执行、要么全都不执行

数据库知识整理——零零碎碎(索引数据聚集事务提交) 软件开发
(图片来自网络侵删)

C一致性:不改数据库中数据一致性,例如:a+b=10,a变,则b也变,而且结果仍然是10。

I隔离性:事务与事务之间的执行相互独立,互不影响。

D持久性:事务执行成功后,其更新便是永久性的,不会无缘无故的回滚。

事务的隔离等级

Serializable(串行化,最高等级):避免脏读、不可重复读和幻读;

Repeatable read(可重复读):避免脏读、不可重复读;

Read commited(读提交):避免脏读;

Read uncommited(读未提交):最低隔离级别。

操作数据库的命令分类

DDL(data definition language):create、alter、drop、truncate

DML(data manipulation Language):select、update、insert、delete

视图

由一表或多表的子列所成的虚拟表,没有实际的物理存储。
可通过修改视图中数据从而修改基表中相应数据。
创建视图命令为create view ...

外键(foreign key tbl_name(id) references parent_tbl_name(id))

表的外键是别外一张表的主键,将两者联系在一起。
作用:保证数据的完整性

确保数据完整性的约束还有,主键约束、唯一键约束、非空约束等

索引

索引确实方便数据的查询,但是开僻索引需要消耗存储资源和对索引维护需要开锁,所以大量引用索引会带来插入、删除操作的低效率。
了解一下B+树索引(非常重要),B+树索引具有高扇出性,一般只有2、4层。

聚集索引和非聚集索引,其本质都是B+索引。

其区别如下表示:

聚集索引,其叶子节点存放行记录数据,即叶子节点也称为数据页,也就是说表中数据也是索引的一部分。
其特点是一张表只能拥有一个聚集索引。
在Innodb中,会以每张表的主键为准,生成聚集索引,如果表没有主键,会根据某列自动生成默认键,从而构建聚集索引。

非聚集索引,其叶子节点并不包含行数据,而是除key值元素外含一个书签(指针)指向相应的存储地址区。
据了解,利用非聚集索引查找,最终还是要回归到聚集索引查找。
非聚集索引可以创建多个,其创建命令:create index …

数据库中的锁

从程序员角度上看,

乐观锁:假定不会发生并发冲突,只在提交操作时检查是否违反数据完整性(利用版本号验证)。

悲观锁:假定会发生并发冲突,屏蔽一切可能违后数据完整性的操作。

从数据库解度上看,

共享锁:也为读锁,允许多个用户进行并发读取。

独占锁:也为写锁,只有当数据即没有读,也没有写时,才可进行写上锁。

更新锁:防止死锁产生,首先锁定数据,等需要更新时,再将更新锁改为写锁

有关锁问题

脏读:读取了别的还未提交事务时的数据,此是最需要避免的情况。

不可重复读:读取了前一次事务所提交的数据,对应着行锁定。

虚读(幻读):读取了前一次事务所提交的批量数据,对应着表锁定。

标签:

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读3 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0