关于b树索引的原理问题
我有一个采集表有2200万数据 经常查询的是一天内某个设备的信号流水 现在总共有393台设备 那么我在建立b树索引时考虑过两种方案 1.为设备id建索引 2.为时间建立索引 事实结果为时间建立索引 查找数据为30s左右 大约1天4000左右的数据 为设备id建立索引 压根就查不出来 我想 这就验证了一个建索引规则 值变化较少的字段不要建立索引 那么在2200w数据里面 设备id只有393个变化 但是我无法理解为什么值少最好不建立索引 按照我理解的是 按设备id进行筛选完后 只有17w的数据 然后按时间筛选 而按时间筛选完后有100多万数据 为啥按照时间还快些 有dba大神能从数据结构方面 或者按照此情况解释索引的工作原理吗?