1. DB를 어떻게 구현했느냐에 따라 다를 것 같습니다. 가장 단순하게, 무식하게 작성했다면 말씀하신 것처럼 동작할 것 같습니다. 하지만, DB쪽 이론이 발전한지도 오래 되었고 설마 그렇게 되었을 것 같진 않네요. 학교 과제 수준도 아니고..
2. 말씀하신 것처럼 메모리에 들고 있어서 거기서 원하는 내용만 검색하는 게 더 빠릅니다. 근데 여기서 논란의 소지가 많지요. 메모리에 상주하면서 DB역할을 하는 것을 만들면 메모리DB인데요. 그것을 디버깅하고, 검증하는 비용이 얼마나 들거냐, 그 품질이 과연 SQLite 이상 될거냐 하는거죠. 그리고 메모리에 한없이 많은 데이터를 올려놓을 수도 없습니다. 어지간한 경우라면 그냥 SQLite 쓰시는 게 좋을 겁니다.
성능이 아주 중요하다면 자주 쓰는 데이터들만 메모리에 갖고 있어서 참조하면 되겠네요.
PC의 경우에서라면 RAM과 HDD의 I/O 속도차이는 굉장히 큽니다. 하지만, Flash Memory와 Ram이면 HDD처럼 엄청나게 차이가 나진 않을 것 같네요. 실제 속도 차이는 찾아봐야 알 것 같지만요.