数据库学习笔记

1.关系型数据库和非关系型数据库

关系型数据库使用关系模型、对数据读写更快速、支持复杂查询。

非关系型数据库基于键值来存储、支持图片和文字的存储,是nosql的,不需要sql层的解析。

2.添加索引的原因

对于唯一的字段可以添加唯一索引确保行唯一;可以优化查询;可以避免排序和临时表。

3.数据库的组成

服务器和存储引擎,服务器包括连接器、缓存、分析器、优化器、执行器,存储引擎存储具体的数据。

4.事务隔离级别

未提交读、提交读、可重复读、串行读

未提交读是指一个事务对数据的修改在数据未提交时就可以被其他事务发现。

提交读是对应的。

可重复读是指在一次事务中数据前后一致,其他事务的修改对事务的过程不可见。

串行读是指串行读写

5.并发控制的问题

脏读:读的过程数据被回退

幻读:读前后数据的增加和删除

不可重复读

丢失修改

6.innodb和mylsam存储引擎区别

inoodb支持事务,支持行锁,对于各种级别的事务隔离都支持。

7.存储引擎使用的索引

包括哈希索引和b树索引,b+树的数据都在叶子节点,而b树需要中序遍历才能得到数据。

8.添加了索引也不能保证一定使用索引的条件

比如未按照字段查询,或者对于组合索引没有按照最左前缀匹配查询

9.加快查询的方法

避免使用select*,使用更快的存储引擎,创建索引

10.视图和游标

视图是虚拟表是查询过程使用的,游标是在逐行处理中使用的。

相关推荐
lzhdim1 分钟前
SQL 入门 8:SQL 复杂查询:子查询与ALL关键词
数据库·sql·mysql
不像程序员的程序媛10 分钟前
mysql 表主键id 自增&雪花
数据库·mysql
l1t15 分钟前
DeepSeek辅助编写的Oracle dmp转SQL脚本和CSV文件工具
数据库·人工智能·sql·oracle
風清掦34 分钟前
【江科大STM32学习笔记-10】I2C通信协议 - 10.1 软件I2C读写MPU6050
笔记·stm32·单片机·嵌入式硬件·物联网·学习
Carino_U37 分钟前
Innodb底层原理与MySQL日志机制
数据库·mysql
MwEUwQ3Gx1 小时前
常见Linux权限提升笔记
linux·运维·笔记
稻草猫.1 小时前
Spring事务操作全解析
java·数据库·后端·spring
momin~2 小时前
MySQL-part2【MySQL表的增删改查】
数据库·mysql
white-persist2 小时前
【vulhub weblogic CVE-2017-10271漏洞复现】vulhub weblogic CVE-2017-10271漏洞复现详细解析
java·运维·服务器·网络·数据库·算法·安全
greatofdream2 小时前
LLVM安装使用
笔记·mlir