工作中遇到一个问题,有一个记录数很多的大表,archive部分数据到另外一个表。现在User输入一个关键字(查出来的记录唯一),我们需要查找到符合条件的整条记录所有值。
查找思路很简单,先在大表里面找,找到了就返回记录的值,找不到就到archive里面去查找。
开始的时候我使用了exists,可是这样做,会查找大表两次,个人感觉不太理想。
找来大家进行讨论,也没有找到比较好的办法做到大表一次。
突然我想到一个方法:使用临时表。可以将查大表的结果选出来放到临时表,之后判断临时表中是否存在数据,存在就直接返回,不存在就在去访问archive表,这样就达到了一次访问的目的。