数据库学习笔记

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

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

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

2.添加索引的原因

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

3.数据库的组成

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

4.事务隔离级别

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

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

提交读是对应的。

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

串行读是指串行读写

5.并发控制的问题

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

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

不可重复读

丢失修改

6.innodb和mylsam存储引擎区别

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

7.存储引擎使用的索引

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

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

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

9.加快查询的方法

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

10.视图和游标

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

相关推荐
冉冰学姐5 小时前
基于ssm的技能比赛报名管理系统29817vn0(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
java·数据库·spring·ssm 框架应用
小小码农Come on7 小时前
Qt Creator + MSVC 2022 64bit 配置 Dump 文件生成与分析流程
数据库·qt
qiuyuyiyang7 小时前
【MySQL】环境变量配置
数据库·mysql·adb
jgyzl9 小时前
2026.3.11MyBatis-Plus基本使用与思考
java·数据库·mybatis
RDCJM9 小时前
【MySQL】在MySQL中STR_TO_DATE()以及其他用于日期和时间的转换
android·数据库·mysql
vanvivo9 小时前
redis 使用
数据库·redis·缓存
左左右右左右摇晃9 小时前
HashMap 扩容机制
笔记
加成BUFF10 小时前
解决MySQL/MariaDB忘记root密码:完整重置教程(XAMPP/Windows版)
数据库·mysql·xampp
杰克尼10 小时前
苍穹外卖--day10
java·数据库·spring boot·mybatis·notepad++
dreamread10 小时前
完美解决phpstudy安装后mysql无法启动
数据库·mysql