Not true. Your RDBMS will cache all the most recently accessed data for you in memory without you lifting a finger. If you feed it more memory it will cache more. Here is a sample my.cnf that we use on servers with 2GB of RAM running squid and apache as well. Compared to the default settings throughput is about tripled for the way we use it.
[root@devel3 root]# cat /etc/my.cnf
[client]
socket=/tmp/mysql.sock
[mysqld]
datadir=/var/lib/mysql
socket=/tmp/mysql.sock
#set-variable=wait_timeout=3600
set-variable=key_buffer=640M
set-variable=max_allowed_packet=32M
set-variable=table_cache=512
set-variable=sort_buffer_size=32M
set-variable=record_buffer=32M
set-variable=read_buffer_size=32M
set-variable=myisam_sort_buffer_size=64M
set-variable=thread_cache=8
set-variable=query_cache_size=32M
set-variable=tmp_table_size=32M
[snip]
|