You 'MySQL cache database' is not clear to me, as it is not one of its storage engines. If you mean you cache the output of queries elsewhere (or in the query cache itself), yes you'll still need it, a cache is usually shortlived and has to be (re)filled at some point. If you ever use a WHERE, ORDER BY or JOIN, or anything above just a 'SELECT * FROM table' really, proper indexes are still a must.
If you're worried about performance of updates & inserts and using MyISAM (the default), you could look into INSERT DELAYED, ALTER TABLE tbl_name DISABLE KEYS, etc. before performing bulk operations.
And on a side note, for more complex queries, never forget an EXPLAIN <the query> can show you much of its inner workings and possible optimalisations.
Answers & Comments
Verified answer
You 'MySQL cache database' is not clear to me, as it is not one of its storage engines. If you mean you cache the output of queries elsewhere (or in the query cache itself), yes you'll still need it, a cache is usually shortlived and has to be (re)filled at some point. If you ever use a WHERE, ORDER BY or JOIN, or anything above just a 'SELECT * FROM table' really, proper indexes are still a must.
If you're worried about performance of updates & inserts and using MyISAM (the default), you could look into INSERT DELAYED, ALTER TABLE tbl_name DISABLE KEYS, etc. before performing bulk operations.
And on a side note, for more complex queries, never forget an EXPLAIN <the query> can show you much of its inner workings and possible optimalisations.