4.2.1 SQL语句、索引、视图、存储过程

怎么执行一条select语句

1.连接器 接收连接-》管理连接-》校验用户信息

2.查询缓存 kv存储,命中直接返回,否则继续执行 8.0已经删除

3.分析器 词法句法分析生成语法树

4.优化器 指定执行计划,选择查询成本最小的计划

5.执行器 根据执行计划,从存储引擎获取数据,并返回客户端

数据库设计三范式(目的:减少空间占用)

范式一:确保每列保持原子性:数据库表中的所有字段都是不可分解的原子值。

范式二:确保表中的每列都和主键相关,而不能只与主键的某一部分相关。

范式三:确保每列都和主键直接相关,而不是间接相关,减少数据冗余。

反范式(允许冗余存储,为了提升查询效率)

范式可以避免数据冗余,减少数据库的空间,减小维护数据完整性的麻烦;但是采用数据库范式化设计,可能导致数据库业务涉及的表变多,并且造成更多的联表查询,将导致整个系统的性能降低;因此基于性能考虑,可能需要进行反范式设计;

五大约束

not null非空约束

auto_increment自增约束

unique唯一约束

primary主键约束 非空、唯一

foreign外键约束

删除数据

drop 快 删除整张表结构和表数据,包括索引、约束、触发器等 不能进行回滚

truncate 较快 删除表数据,其他保留 不能回滚 以页为单位进行删除

delete 慢 删除部分或全部数据,其他保留 回滚 逐行删除

相关推荐
这个DBA有点耶2 小时前
2026年分布式数据库有哪些主流选择?先评估这5个维度再决定
数据库·分布式·dba
这个DBA有点耶5 小时前
从MySQL 5.7到8.0:JSON查询性能差在哪?虚拟列索引vs多值索引怎么选
数据库·mysql·架构
胡写代码5 小时前
数据库审计字段,别再每张表各写一套了——我统一成这 6 个字段
数据库
SelectDB9 小时前
为什么 JSON 正在成为分析数据库新的竞争点?
数据库·json·agent
ClouGence9 小时前
开源数据库管理工具 CloudDM 4.2.0 发布,新增 GoldenDB、KingbaseES 等数据源
数据库·dba·devops
发霉的馒头10 小时前
ORA-00845: MEMORY_TARGET not supported on this system的解决方法
数据库
草莓熊Lotso12 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
煎饼皮皮侠13 小时前
【设计】设计一个web版的数据库管理平台后端(之五) --借鉴mybatis
数据库·mybatis
东风破_19 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
九皇叔叔20 小时前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构