MySQL面试题解析:索引、查询优化和数据库架构
需积分: 1 20 浏览量
更新于2024-08-04
收藏 39KB TXT 举报
MySQL 基础知识点总结
MySQL 是一种关系型数据库管理系统,广泛应用于各种 Web 应用程序。下面是 MySQL 基础知识点总结:
一、关系型数据库和非关系型数据库的区别
关系型数据库(RDBMS)和非关系型数据库(NoSQL)是两种不同的数据库类型。关系型数据库采用关系模型来组织数据,具有易于理解、易于维护、支持复杂查询等优点。非关系型数据库不需要经过 SQL 层的解析,读写效率高,基于键值对,读写性能高,易于扩展。
关系型数据库的优点:
* 易于理解,因为它采用了关系模型来组织数据
* 可以保持数据的一致性
* 数据更新的开销比较小
* 支持复杂查询(带 where 子句的查询)
非关系型数据库的优点:
* 无需经过 SQL 层的解析,读写效率高
* 基于键值对,读写性能高,易于扩展
* 可以支持多种类型数据的存储,如图片、文档等等
* 扩展性强,可以分为内存性数据库以及文档型数据库等
二、MySQL 语句执行的步骤
MySQL 语句执行的步骤包括:
1. 客户端请求
2. 连接器(验证用户身份,给予权限)
3. 查询缓存(存在缓存则直接返回,不存在则执行后续操作)
4. 分析器(对 SQL 进行词法分析和语法分析操作)
5. 优化器(主要对执行的 SQL 优化选择最优的执行方案方法)
6. 执行器(执行时会先看用户是否有执行权限,有才去使用这个引擎提供的接口)
7. 去引擎层获取数据返回(如果开启查询缓存则会缓存查询结果)
三、MySQL 使用索引的原因
索引的出现,就是为了提高数据查询的效率,就像书的目录一样。对于数据库的表而言,索引其实就是它的“目录”。索引可以帮助引擎层避免排序和临时表,将随机 IO 变为顺序 IO,加速表和表之间的连接。
四、索引的三种常见底层数据结构
MySQL 中索引的三种常见底层数据结构是哈希表、有序数组和搜索树。
* 哈希表适用于等值查询的场景,不适合范围查询。
* 有序数组索引只适用于静态存储引擎,等值和范围查询性能好,但更新数据成本高。
* N 叉树由于读写上的性能优点以及适配磁盘访问模式,广泛应用在数据库引擎中。
五、索引的常见类型
根据叶子节点的内容,索引类型分为主键索引和非主键索引。主键索引的叶子节点存的整行数据。
2023-04-12 上传
2023-05-29 上传
2023-06-01 上传
2023-09-02 上传
2023-08-14 上传
2023-03-09 上传
2023-10-21 上传
2023-05-23 上传
2023-05-23 上传
徐浪老师
- 粉丝: 7076
- 资源: 6879
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景