简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
2024-09-27
31
1. 前言
简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
这是一道非常经典的 MySQL 索引面试题,意在看面试者是否了解索引的几种类型以及索引的优点和存在的弊端
2. 几种索引类型的区别
索引是帮助数据库高效获取数据的一种数据结构,索引文件中记录着对数据表数据的引用指针
主键是一种特殊的唯一索引,在一张表中只能有一个主键索引,主键索引用于唯一标识一条记录
唯一索引用于确保某一列只包含各不相同的值,也就是说,唯一索引可以保证数据记录的唯一性
联合索引是指通过多个列建立的索引,比如有: 联合主键索引,联合唯一索引
3. 索引读写方面对数据库性能的影响
读: 索引可以极大的提高数据查询速度,建立索引后会生成索引文件,所以索引本质上是以空间换时间
写: 索引会降低插入,删除,更新的速度,是因为当数据发生改变后,会重新建立索引,那么就会重新构建索引文件,导致增删改操作变慢
更新于:1个月前赞一波!
相关文章
- 【说站】java抽象类和接口的区别探究
- 【说站】java中不同变量的区别
- 【说站】python列表索引的两种用法
- 【说站】python字符串索引的用法
- SQL Server用UUID做主键性能问题和解决方案
- 【说站】java throw和throws的区别
- 【说站】MySQL的五种索引类型极其特点
- 【说站】java异步和同步的区别
- 【说站】php7与php5的区别
- 【说站】java集合和数组的区别
- 【说站】java注解有什么作用
- 【说站】java LocalDate有什么作用
- 【说站】php数组排序并保持索引关系
- 【说站】php数组排序保持索引
- 【说站】python切片如何进行索引
- 【说站】java与c语言区别
- thinkphp怎么用model?ThinkPHP中实例Model方法的区别说明
- JS 数组方法 every 和 some 的区别
- GET 和 POST 请求方式的区别
- MySQL 中 varchar 和 char 区别
文章评论
评论问答