简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
2024-09-27
66
1. 前言
简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
这是一道非常经典的 MySQL 索引面试题,意在看面试者是否了解索引的几种类型以及索引的优点和存在的弊端
2. 几种索引类型的区别
索引是帮助数据库高效获取数据的一种数据结构,索引文件中记录着对数据表数据的引用指针
主键是一种特殊的唯一索引,在一张表中只能有一个主键索引,主键索引用于唯一标识一条记录
唯一索引用于确保某一列只包含各不相同的值,也就是说,唯一索引可以保证数据记录的唯一性
联合索引是指通过多个列建立的索引,比如有: 联合主键索引,联合唯一索引
3. 索引读写方面对数据库性能的影响
读: 索引可以极大的提高数据查询速度,建立索引后会生成索引文件,所以索引本质上是以空间换时间
写: 索引会降低插入,删除,更新的速度,是因为当数据发生改变后,会重新建立索引,那么就会重新构建索引文件,导致增删改操作变慢
更新于:3个月前赞一波!1
相关文章
- 【说站】mysql覆盖索引高性能的探究
- 【说站】mysql创建索引的三种方式
- 【说站】mysql有哪些建立索引的方法
- 【说站】mysql主键约束的设置
- 【说站】python copy()和直接赋值的区别
- MySQL SQL调优之索引
- 【说站】mysql如何创建哈希索引
- 【说站】mysql全文索引是什么
- 【说站】mysql中哈希索引的使用限制
- 【说站】mysql哈希索引是什么
- 【说站】python可变数据类型和不可变数据类型的区别
- 【说站】mysql中BTree索引的理解
- 【说站】mysql B+Tree索引是什么
- 【说站】mysql中B+Tree和B-Tree的区别
- 【说站】java循环和递归的区别
- 【说站】Python pandas和numpy的区别
- 【说站】java yield()和sleep()的区别
- 【说站】java start()和run()的区别
- 【说站】Python列表中有哪些索引
- 【说站】python默认索引是什么
文章评论
评论问答