one of the prime reasons for using a relational database engine is to index fields so you can search quickly. the database engine takes care of caching blocks of the indexes etc., so it doesn't do a sequential scan. you haven't said what kind of searches you're doing on the fields, so i can't give a definite answer whether a database engine would realy benefit. complex searches that try to partially match fields usually can't use an index anyway. if the searches lend themselves to a initial screening, then you could use grep utility and output to a temp file that you then scan.