select * from customers where id = 1;
select * from customers where id = 2;
또는 빠른
select * from customers where id in(1,2);
?
select * from customers where id = 1;
select * from customers where id = 2;
또는 빠른
select * from customers where id in(1,2);
?
첫 번째 것은 실제로 데이터베이스로 왕복하는 두 개의 명령문입니다. 두 번째 문장은 단 하나의 문장이므로 빠를 것입니다.
정말로 이것을 확인하려고합니까? 한 번에 두 줄 또는 두 번 돌아가서 한 줄을 반환하는 것이 더 빠르냐고 묻고 있습니까? 그것이 질문이라면, 나는 의견에 동의한다 - 그것을 시도하고, 측정하고 비교한다.
이런 종류의 것을 효율적으로 만들려고한다면, 대신 bind 변수를 사용해야합니다. 귀하의 질문이 실제로 그것이 무엇을 의미하는지 의미한다면, 아마 여기있는 모든 대답이 가능할 것입니다.
"빠른"이라는 질문은 항상 데이터베이스의 특성에 따라 달라질 수 있습니다. 나는 plhmhck와 MJB를 덧붙일만한 것이 아무것도 없다. 왜냐하면 당신이 2 개의 질의와 1 개의 질의에 대해 이야기하고 있다는 사실에 관한 것이다.
그러나주의 할 것을 WHERE id IN (1,2)
WHERE (id = 1 OR id = 2)
하려면 그것을 시도 보통 (항상?) 다시 것입니다 최적화. 설명 계획을보세요. – Mat인덱스에 따라 달라집니다 – Avitus
첫 번째 컬렉션은 각각 하나의 행을 포함하는 두 개의 컬렉션을 반환합니다. 두 번째 행은 2 개의 행을 포함하는 하나의 콜렉션을 리턴합니다. 그것들은 같은 결과를주지 않으므로 그것들을 계산하는 것은 의미가 없습니다. 의미있는 질문을 위해 더 많은 상황이 필요합니다. –