请教一个问题:mysql中,我查询语句
select * from tableA where name='test' and age='18';
然后我有一个name和age的list列表,分别通过这两个条件去查询,有什么比较方法可以查询;
eg:
select * from tableA where name='test' and age='18';
select * from tableA where name='test1' and age='18';
select * from tableA where name='test2' and age='20';
select * from tableA where name='test2' and age='56';
···
其中查出来的数据对应Java的一个实体。其中List表的大小为500-3000,数据表的记录为每天8万左右
더 효율적인 보기 쿼리를 만듭니다. 임시 테이블보다 약간 더 빠릅니다.
테이블 A는 nameage라는 열을 추가합니다. 그 값은 name과 age의 조합입니다. 예를 들어 test18
select * from tableA where nameage in ('test18','xxxxxx','xxxxxxx')
물론 열을 추가할 필요는 없으며, SQL을 사용하여 직접 철자를 써도 됩니다
togeek의 답변이 매우 멋지네요
SQL의 효율성을 재고해야 할 수도 있습니다
으아악
아니요?
데이터 양이 많지 않을 때는 이렇게 해도 됩니다.
으아악그러나 위의 쿼리를 설명해보면 이 방법은 인덱스를 사용할 수 없기 때문에 쿼리 효율성이 매우 낮다는 것을 알 수 있습니다.
으아악
임시 테이블을 만들고 임시 테이블의 필드 2개를 결합합니다
http://stackoverflow.com/ques...
http://www.zhihu.com/question...