이름이 "Ab"로 시작하고 20 년이 지난 최초 2000 명의 사용자 목록을 데이터베이스에 요청하십시오. 또한 그들은 남성이어야합니다.
여기 작은 다이어그램이 있습니다.
You Program Processor
------------------------------------------------------------------------------
Get the first 2000 users ---------->---------- OK!
--------------------- So I'll go get those records...
WAIT! Also, they have to ---------->---------- Gotcha!
start with "Ab"
--------------------- NOW I'll get them...
WAIT! Make sure they're ---------->---------- Good idea Boss!
over 20!
--------------------- Let's go then...
And one more thing! Make ---------->---------- Anything else? Ugh!
sure they're male!
No that is all. :( ---------->---------- FINE! Getting records!
--------------------- Here you go.
Thanks Postgres, you're ---------->---------- ...
my only friend.
이 끔찍한 끔찍한 상호 작용으로 볼 수 있듯이 "데이터베이스"는 모든 조건을 처리 할 준비가 될 때까지 실제로 아무것도하지 않습니다. 각 단계에서 결과가 느리게 로딩되고 매번 새로운 조건이 적용됩니다.
처음 2000 명의 사용자를 가져 오는 대신, "Ab"로 필터링하고, 반환하고, 20 명 이상을 필터링하고, 반환하고, 수컷을 필터링하여 최종적으로 반환하는 사용자와는 반대로.
간단히 말해서 게으른 로딩.