面试题之索引

1.什么是索引?
索引是对数据库表中一列或多列的值进行排序的一种结构.索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。

2.为什么要用索引?
为了加快查询的速度

3.索引的原理是什么?
索引就是通过事先排好序,从而在查找时可以应用二分查找等高效率的算法。
一般的顺序查找,复杂度为O(n),而二分查找复杂度为O(log2n)。

4.索引的优缺点是?
就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录
缺点:
第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
第二,索引需要占物理空间,
第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度

总结:
1.什么是索引:数据库中的索引是某个表中一列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
2.分类:
唯一索引(UNIQUE):不允许两行具有相同的索引值(创建了唯一约束,系统将自动创建唯一索引)
主键索引:主键索引要求主键中的每个值是唯一的,(创建主键自动创建主键索引)
聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引
非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引
3.创建索引的标准:用于频繁搜索的列;用于对数据进行排序的列

数据库索引原理及优化
https://blog.csdn.net/suifeng3051/article/details/52669644/
索引原理、类型及优化
https://blog.csdn.net/xiaolongxia_wjn/article/details/77921313
数据库索引的作用优点和缺点
https://blog.csdn.net/u013310119/article/details/52527632
索引的实现原理
https://blog.csdn.net/timer_gao/article/details/78013826

回答: 针对面试题"mysql索引优化",可以从以下几个方面进行回答。首先,尽量使用主键查询可以减少回表的消耗,因为聚簇索引上存储了全部数据。其次,可以考虑使用联合索引并利用索引下推优化,减少回表判断的消耗。另外,如果频繁查询某一列数据,可以考虑利用覆盖索引避免回表。在建立复合索引时,应根据字段在查询条件中的频度进行排序,将应用频度高的字段放在复合索引的前面,以最大限度地发挥索引的作用。最后,了解索引及其优化的规则,并将其应用于实际工作中,可以提升系统性能,开发出高性能、高并发和高可用的系统。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [【金三银四】MySQL优化面试题(2021最新版)](https://blog.csdn.net/SQY0809/article/details/115254620)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Mysql索引优化及面试题](https://blog.csdn.net/qq_44590469/article/details/96473238)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值