采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师, 因为业务上需要,所以要设计一个 datetime delete_time default null 字段放在每个数据表中,实现逻辑删除。删除时标记delete_time时间为当前时间。但是,这个字段加入后,因为很多null存在,各种查询的最后条件都是 and delete_time is null , 这样导致索引无效,产生很多全表扫描,影响查询效率。请问这个怎么解决。
给delete_time一个默认时间比如1970-01-01
老师,那这样会有很多1970-01-01这个值。这个字段的索引区分度不高,查询效率不高怎么办?
你查询的时候会经常查询时间为1970-01-01这样的日期的数据吗?如果不会的话那这个值对于索引的查询效率就不会有影响。
有时候分页要这样查询select * from table where delete_time="1970-01-01" limit 1000,100
登录后可查看更多问答,登录/注册
掌握SQL优化与慢查询优化,具备独当一面的能力
1.3k 21
1.9k 15
1.5k 14
1.6k 13
1.5k 11
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号