关于索引的面试题

2016-03-01 08:57:21 +08:00
 kkd

数据库索引常问的问题:
1. 索引的优点 /缺点;
2. 索引的类型;

除此以外,还有那些问题会经常被问道?
回答的关键点是什么。

4568 次点击
所在节点    MySQL
5 条回复
paulagent
2016-03-01 09:08:03 +08:00
google
tanteng
2016-03-01 09:31:12 +08:00
补充:
联合索引用法
怎么分析哪些字段需要索引
字符串类型的字段如何用索引

谷歌不行,百度也可以
wmttom
2016-03-01 10:48:17 +08:00
作为数据库使用者知道大概原理就好了, innodb 的话一般用 B+tree 的数据结构特点推导结论,比如:
为什么用一个联合索引可以代替各种前缀的子索引
为什么主键 ID 不单调可能会带来页分裂问题影响性能
等等

还有就是索引覆盖查询的条件, VARCHAR utf8 和 utf8mb4 可以索引覆盖查询的最长长度是多少?
索引的能加快查询的条件,什么时候索引需要建(如索引区分度太低或扫描数据范围太大,效果不明显)
能知道 explain 一条 SQL 后,可能的显示结果都代表什么,需要怎么优化。

高性能 MySQL 的书过一遍,基本作为 MySQL 使用者的知识感觉就够了。
SlipStupig
2016-03-01 13:40:12 +08:00
首先是什么数据库,如果是 Mysql 支持索引有 norman hash btree 主键, access 是不支持索引的, mongodb 索引跟其它 sql 数据是不一样的,其它数据库不知道
优点:提高查询效率
缺点:索引本身是用空间换时间,所以会占用一定空间

2.如果是 mysql 会经常问到的问题有这些
1.mysql 主从同步原理
2.集群宕机快速恢复和启动(例如:集群内有 1000 台机器如何快速启动)
3.性能调优和问题检查, 例如:如何判断 mysql 当前是否有磁盘碎片
4.mysql 触发器、存储过程、 udf 是做什么的?
5.索引什么时候会更新
sunchen
2016-03-01 18:17:25 +08:00
索引的各种数据结构:比如 btree 系列,倒排, hash ,各种空间索引方案(降维的方式),以及这些数据结构的适用场景

索引对读写的影响

索引优化,根绝业务对索引进行精简的方案,比如某个联合索引和某个单字段索引存在一些重复,怎么通过 explain 和一些数据库内部表观察你的索引使用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/260077

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX