测试联合索引是否命中

403 次浏览次阅读
没有评论

测试联合索引是否生效
user 表,创建 idx_id_name_mobile 联合索引,包含字段(id, name, mobile)

主键索引和联合索引结合使用,如果联合索引符合最左前缀原则,且联合索引只使用最左的字段,则主键索引和联合索引都生效

主键索引和联合索引结合使用,如果联合索引符合最左前缀原则,联合索引遵循最左前缀原则使用多个字段,则联合索引都生效

  1. EXPLAIN SELECT * FROM user WHERE id=2; // 生效

  2. EXPLAIN SELECT * FROM user WHERE mobile=18737164856; // 不生效 不符合联合索引最左前缀原则

  3. EXPLAIN SELECT * FROM user WHERE NAME=’Test’; // 不生效 不符合联合索引最左前缀原则

  4. EXPLAIN SELECT * FROM user WHERE id=2 AND name=’Test’; // 生效

  5. EXPLAIN SELECT * FROM user WHERE id=2 AND mobile=18737164856; // 不生效 不符合联合索引最左前缀原则

  6. EXPLAIN SELECT * FROM user WHERE name=’Test’ AND mobile=18737164856; // 不生效 不符合联合索引最左前缀原则

  7. EXPLAIN SELECT * FROM user WHERE id=2 AND name=’Test’ AND mobile=18737164856; // 不生效

user 表,创建 idx_name_mobile_rememberToken 联合索引,包含字段(name, mobile, rememberToken)

  1. EXPLAIN SELECT * FROM user WHERE name=’Test’ AND mobile=18737164856 AND rememberToken = ‘aaa’; // 索引生效
正文完
 0
评论(没有评论)