mysql数据库
DML:数据操作语言
增删改查数据的语言。
INSERT
DELETE
SELECT
UPDATE
DDL:数据定义语言
定义、删除、修改RDB对象的sql语言
CREATE
DROP
ALTER
DCL:数据控制语言
定义数据库中用户访问权限的sql语言
GRANT
REVOKE
RDB对象:
库、表、索引、视图、用户、存储过程、存储函数、触发器、事件调度器。
约束:保证数据完整性
域约束:数据类型约束
外键约束:引用完整性约束
主键约束:某字段能唯一标识此字段所属的实体,并且不允许为空。
一张表只能有一个主键
唯一性约束:每一行的某字段都不允许出现相同值,可以为空
一张表中可以有多个
检查性约束:
关系型数据库:
表示层:表
逻辑层:存储引擎
物理层:数据文件
数据存储和查询:
存储管理器:
权限和完整性管理:管理用户的权限、数据的约束进行管理。
事务管理器:保证用户的操作 ,一个账户加了500元,另外一个账户必须减500块
文件管理器:用户的数据要保存到单个或多个文件中从而保存到磁盘中,管理文件的创建,删除,追加数据的功能
缓冲区管理器:要完成数据的查询、修改 都要在内存里完成,所以要把数据从磁盘的文件中读到内存里。这个缓冲区管理器就是管理缓冲空间的。
查询管理器:
负责接收用户查询请求,理解用户查询请求,并将请求提交给存储管理器。
DML解释器:让数据库能够理解DML语句。
DDL解释器:
查询执行引擎:执行sql语句,完成数据的增删改查。
单进程多线程:
多线程
守护线程:掉电丢失,将数据从缓冲区写到磁盘上,
应用线程
10个用户:
查询秋琼
需要往内存中载入256M的数据才能完成
需要载入1G的数据才能完成
载入256M数据才能完成
10个用户需要占用大量的内存,涉及到的数据量是比较大的,他的并发能力和web程序是不一样的,请求以一个页面几个兆,如果不是下载服务器,不会太大。
一个数据库服务器通常是一个系统性能的最慢的节点所在,所以尽量避免和数据库的交互。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现