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

怎么执行一条select语句

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

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

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

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

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

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

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

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

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

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

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

五大约束

not null非空约束

auto_increment自增约束

unique唯一约束

primary主键约束 非空、唯一

foreign外键约束

删除数据

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

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

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

相关推荐
承渊政道几秒前
【MySQL数据库学习】(MySQL数据类型)
数据库·学习·mysql·ubuntu·bash·数据库开发·数据库系统
梦想的颜色2 分钟前
MySQL 三大日志:Redo Log、Undo Log 和 Binlog 完全解析
数据库·mysql·数据库架构
KaMeidebaby12 分钟前
卡梅德生物技术快报|蛋白修饰调控 NETosis 分子机制及实验研究进展
前端·数据库·人工智能·算法·百度
睡不醒男孩03082322 分钟前
行业解决方案一:CLup助力金融行业构建自主可控PostgreSQL高可用数据库平台
数据库·金融·clup
阿里云大数据AI技术39 分钟前
最佳实践:用 EMR Serverless StarRocks AI Function 实现金融行业文本分类_
starrocks·人工智能·sql·阿里云·ai function
韦胖漫谈IT1 小时前
数据库关系型 vs 非关系型:选型从问题出发
数据库
土狗TuGou1 小时前
SQL内功笔记 · 第9篇:UPDATE FROM 进阶——告别逐行子查询,拥抱集合更新
java·数据库·笔记·sql·mysql
代码中介商1 小时前
Redis位图实战:海量数据高效处理
数据库·redis·缓存
头歌实践平台1 小时前
头歌数据库 触发器
数据库
比企谷八幡1 小时前
数据库 Page 内部是什么样:Page Header、Slot 和 Line Pointer
数据库·c++·postgresql·数据库架构