high traffic mysql hosts
While MySQL is in-memory database (tables you are querying should be in memory to get quite nice performance) so you have to have enough of RAM to hold accounts table in buffer pool (innodb_buffer_pool_size). Can you calculate the size of your table (query information_schema.tables for this information)? For example, if it's 10G and you can get 10G at least (it would be nice to have at least +20-30%) so you can go with virtual server. If you cant afford 10G RAM (for example you need 700G RAM) you should think about sharding (moving data to different servers by accountId).

It's a good option to use partition by accountId it will reduce amount of blocking inserts/updates.

MySQL 5.5/5.6 has a nice feature to load/dump buffer_pool to you do need to do warm up after each server restart (look at innodb_buffer_pool_load_at_startup, innodb_buffer_pool_dump_at_shutdown).

That is where I would start. General advice: change settings in my.cnf and benchmark them.

Hope it helps