
大数据量下,身份证的查询优化
大数据量下,身份证的查询优化方式一:身份证分别正向、逆向存储,使用like逆序模糊查询,满足最左匹配原则,索引不会失效user表数据添加普通索引查询后六位select * from user where id_card_reverse like reverse("%226014");查询后五位select * from user where id_card_reverse like reverse
·
大数据量下,身份证的查询优化
这里是测试练习采用select *,实际场景中还是使用所有字段的形式,这样也可以提高效率
方式一:身份证分别正向、逆向存储,使用like逆序模糊查询,满足最左匹配原则,索引不会失效
- user表数据
- 添加普通索引
- 查询后六位
select * from user where id_card_reverse like reverse("%226014");
- 查询后五位
select * from user where id_card_reverse like reverse("%26014");
- 查询后四位
select * from user where id_card_reverse like reverse("%6024");
方式二:身份证号拆分存储
存储身份证有标识性性的后六位
- 数据表user_test
- 添加组合索引
- 查询身份证后两位
select * from user_test where id_card_last_2 = '1' and id_card_last_1 = '4';
- 查询身份证后六位
select * from user_test where id_card_last_6 = '2' and id_card_last_5 = '2' and id_card_last_4 = '6'
and id_card_last_3 = '0' and id_card_last_2 = '1' and id_card_last_1 = '4' ;
更多推荐
所有评论(0)