操作系统HP-UX 11.31 IA 64,TT:7.0.5.12
最近遇到了一个奇怪的问题,对同一张表,采用不同的查询方式,查询出来的结果不一致。打个比方说:一个用户开了办了3张银行卡,这样的话,表里边与这个身份证号有关的记录应该有三条。
同时,如果:
select * from tab_name where 身份证='xxxx' 应该出来3条记录,同时:
select * from tab_name where 卡号 in ('id1','id2','id3),也应该出来3条记录才对。
但是方式1查询只能出来一条记录,而方式2查询可以出来3条记录。
开始的时候,觉得问题有点奇怪,最后通过分析发现问题应该出在索引上,因为只要有一种方式能查询出来,那就说明数据本身没有问题,如果数据本身有问题,那么无论采用哪种方式都应该查询不出来。而之所以出现一种方式查询正确,另一种不正确,那么很可能和两种不同的查询方式所使用的索引有关系,对于查询不出正确结果的方式,可能是索引坏了,索引出现了异常,导致不能正常通过索引查出所有记录。
最后找了时间重建了索引,问题解决。
最近遇到了一个奇怪的问题,对同一张表,采用不同的查询方式,查询出来的结果不一致。打个比方说:一个用户开了办了3张银行卡,这样的话,表里边与这个身份证号有关的记录应该有三条。
同时,如果:
select * from tab_name where 身份证='xxxx' 应该出来3条记录,同时:
select * from tab_name where 卡号 in ('id1','id2','id3),也应该出来3条记录才对。
但是方式1查询只能出来一条记录,而方式2查询可以出来3条记录。
开始的时候,觉得问题有点奇怪,最后通过分析发现问题应该出在索引上,因为只要有一种方式能查询出来,那就说明数据本身没有问题,如果数据本身有问题,那么无论采用哪种方式都应该查询不出来。而之所以出现一种方式查询正确,另一种不正确,那么很可能和两种不同的查询方式所使用的索引有关系,对于查询不出正确结果的方式,可能是索引坏了,索引出现了异常,导致不能正常通过索引查出所有记录。
最后找了时间重建了索引,问题解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28811352/viewspace-1758012/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28811352/viewspace-1758012/