表:id, 名称,注册时间,班级 ID, 年龄,性别,
查询需求:
id
名字
时间+名字
班级+年龄
班级+性别
求问如何建立索引
查询需求:
id
名字
时间+名字
班级+年龄
班级+性别
求问如何建立索引
1
WeikangMa OP 个人认为
名字: 最左原则, 单独加一个 时间+名字: 时间区分度大, 名字可能是最左原则, 最好加一个时间_名字的联合索引 年龄, 学生估计年龄前后差不了 5 岁, 性别区分度就更小了。 所以加一个班级的索引,或者班级+年龄的联合索引 都可以吧 |
2
WeikangMa OP 你们平时会对 mysql 参数进行调优吗? 这特么不都是 dba 的事, 即使知道原理, 谁敢调呀。。。
结果面试官评价一句: 数据库使用经验比较少。。。 |
3
morty0 Apr 21, 2021
考虑范围查询需求, 时间+名字, 年龄+班级
|
4
GGGG430 Apr 22, 2021 via iPhone
还是要看实际 sql 使用频率,高频率使用的优先建立,另外你说的这些有点纸上谈兵,最好是找一个 slave 实际去 explain 看看效果
|