数据库索引常问的问题:
1. 索引的优点 /缺点;
2. 索引的类型;
除此以外,还有那些问题会经常被问道?
回答的关键点是什么。
1
paulagent 2016-03-01 09:08:03 +08:00
google
|
2
tanteng 2016-03-01 09:31:12 +08:00
补充:
联合索引用法 怎么分析哪些字段需要索引 字符串类型的字段如何用索引 谷歌不行,百度也可以 |
3
wmttom 2016-03-01 10:48:17 +08:00
作为数据库使用者知道大概原理就好了, innodb 的话一般用 B+tree 的数据结构特点推导结论,比如:
为什么用一个联合索引可以代替各种前缀的子索引 为什么主键 ID 不单调可能会带来页分裂问题影响性能 等等 还有就是索引覆盖查询的条件, VARCHAR utf8 和 utf8mb4 可以索引覆盖查询的最长长度是多少? 索引的能加快查询的条件,什么时候索引需要建(如索引区分度太低或扫描数据范围太大,效果不明显) 能知道 explain 一条 SQL 后,可能的显示结果都代表什么,需要怎么优化。 高性能 MySQL 的书过一遍,基本作为 MySQL 使用者的知识感觉就够了。 |
4
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.索引什么时候会更新 |
5
sunchen 2016-03-01 18:17:25 +08:00
索引的各种数据结构:比如 btree 系列,倒排, hash ,各种空间索引方案(降维的方式),以及这些数据结构的适用场景
索引对读写的影响 索引优化,根绝业务对索引进行精简的方案,比如某个联合索引和某个单字段索引存在一些重复,怎么通过 explain 和一些数据库内部表观察你的索引使用 |