select语句中使用的索引覆盖所有需要查询的字段

覆盖索引的原理:就是查询字段在 二级索引中全部找到,不需要回表查询

覆盖索引只是特定于具体select语录而言的联合索引。也就是说一个联合索引对于某个select语句,通过索引可以直接获取查询结果,而不再需要回表查询啦,就称该联合索引覆盖了这条select语句。

本题中经过测试,device_id,university 为联合索引,因此:

Select device_id,university FROM user_profile where university = "北京大学" and device_id = user_profile.device_id;

device_id = user_profile.device_id 这一步是100%成立的,使用的目的就是索引覆盖