🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6
🍨 阿珊和她的猫_CSDN个人主页
🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》
🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》
文章目录
- 13. 什么是索引?为什么索引对数据库性能很重要?
- 14. 什么是联合索引?它与单列索引有什么区别?
- 15. 如何创建索引?如何选择合适的列创建索引?
- 16. 解释一下数据库范式。
13. 什么是索引?为什么索引对数据库性能很重要?
索引(Index)是数据库中用于加速查询的数据结构,它可以提高查询效率,降低查询延迟,从而提高数据库性能。
在 MySQL 中,索引通常包含一个或多个列,可以是复合索引(由多个列组成)。索引可以存储在磁盘上,以便在查询时快速查找数据。
索引对数据库性能重要的原因主要有以下几点:
- 提高查询效率:索引可以加速查询过程,通过快速定位数据,减少磁盘 I/O 操作,从而提高查询效率。
- 减少磁盘 I/O 操作:索引可以减少磁盘 I/O 操作,因为索引通常存储在磁盘上,可以快速访问。
- 减少表扫描:索引可以减少表扫描,因为索引可以快速定位数据,避免了表扫描过程中对所有数据行的扫描。
- 提高并发性能:索引可以提高并发性能,因为索引可以快速定位数据,避免了磁盘 I/O 操作,从而提高了并发性能。
总之,索引对数据库性能非常重要,可以提高查询效率,降低查询延迟,从而提高数据库性能。在设计数据库表结构时,应该考虑为经常用于查询的列创建索引,以提高查询效率。
14. 什么是联合索引?它与单列索引有什么区别?
联合索引(Composite Index)是由多个列组成的索引,它可以加速多个列的查询操作。与单列索引相比,联合索引可以减少磁盘 I/O 操作,从而提高查询效率。
联合索引与单列索引的区别主要有以下几点:
- 索引列数:联合索引包含多个列,而单列索引仅包含一个列。
- 查询效率:使用联合索引可以加速多个列的查询操作,而使用单列索引只能加速单个列的查询操作。
- 空间占用:联合索引通常比单列索引占用更多的磁盘空间,因为需要存储多个列的索引数据。
- 维护成本:联合索引的维护成本通常比单列索引更高,因为需要维护多个列的索引。
总之,联合索引可以加速多个列的查询操作,提高查询效率,但需要更多的磁盘空间和更高的维护成本。在设计数据库表结构时,应该根据实际情况选择合适的索引类型,以提高查询效率。
15. 如何创建索引?如何选择合适的列创建索引?
联合索引(Composite Index)是由多个列组成的索引,它可以加速多个列的查询操作。与单列索引相比,联合索引可以减少磁盘 I/O 操作,从而提高查询效率。
联合索引与单列索引的区别主要有以下几点:
- 索引列数:联合索引包含多个列,而单列索引仅包含一个列。
- 查询效率:使用联合索引可以加速多个列的查询操作,而使用单列索引只能加速单个列的查询操作。
- 空间占用:联合索引通常比单列索引占用更多的磁盘空间,因为需要存储多个列的索引数据。
- 维护成本:联合索引的维护成本通常比单列索引更高,因为需要维护多个列的索引。
总之,联合索引可以加速多个列的查询操作,提高查询效率,但需要更多的磁盘空间和更高的维护成本。在设计数据库表结构时,应该根据实际情况选择合适的索引类型,以提高查询效率。
16. 解释一下数据库范式。
数据库范式(Database Normalization)是数据库设计中的基本概念和规则,它规定了实体、属性、关系等数据模型中数据的基本组织形式,以保证数据的一致性和完整性。
数据库范式包括以下五个层次:
- 第一范式(First Normal Form,1NF):一个表只能包含一个主键,每个记录的关键字是唯一的。
- 第二范式(Second Normal Form,2NF):一个表中的每行数据都应满足 1NF 的规则,并且不能有两个或更多的关键字。
- 第三范式(Third Normal Form,3NF):一个表中的每行数据都应满足 2NF 的规则,并且每个关键字之间的关系是直接确定的,不能有交叉参考。
- 第四范式(Fourth Normal Form,4NF):一个表中的每行数据都应满足 3NF 的规则,并且所有关键字之间的关系是直接确定的,不能有交叉参考。
- 第五范式(Fifth Normal Form,5NF):一个表中的每行数据都应满足 4NF 的规则,并且所有关键字之间的关系是直接确定的,不能有交叉参考。
数据库范式为数据库设计提供了基本规范,有助于确保数据的一致性和完整性,从而提高数据库的性能和可维护性。在设计数据库时,应该遵循数据库范式,以确保数据模型具有良好的可扩展性和可维护性。