1.在测试一个按照时间的范围查询时,尽管增加了索引,发现使用不到索引,可以使用这个来强制使用索引
测试过程为,创建下面的表,以及创建了联合索引
create tabledelay_delete_users(
idintauto_increment,email_idint not null default 0 comment 'email表id',emailvarchar(50) default '' comment 邮箱前缀企业id默认域timestamp comment 删除时间tinyint 0未处理,1已清空primary key(id),1)"> email_entid(email,entid),1)"> delete_time(delete_time,clear)
)engine innodb;
插入测试数据,进行explain查询
insert into `delay_delete_users` (email,entid,default_domain,delete_time)value(shihan2',23684,appdev.sinanet.com2019-12-10 15:49:16);12019-12-12 15:49:161);
explain select * from delay_delete_users where delete_time
+----+-------------+--------------------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table | partitions | type | possible_keys key | key_len | ref | rows | filtered | Extra |
| 1 | SIMPLE | delay_delete_users NULL | ALL | delete_time NULL NULL | 7 14.29 | Using where |
explain select * from delay_delete_users force index(delete_time) where delete_time
--+-------------+--------------------+------------+-------+---------------+-------------+---------+------+------+----------+-----------------------+
| type key | Extra | range | delete_time 4 3 index condition |
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250