We've had some suggestions from our server hosts for optimisations to our database. Thought I'd see if could get a second opinion here. Should I make the suggested changes?

* Storage Engine Statistics
[--] Status: -Archive +BDB -Federated +InnoDB +ISAM -NDBCluster
[--] Data in MyISAM tables: 2G (Tables: 296)
[--] Data in InnoDB tables: 3M (Tables: 124)
[!!] BDB is enabled but isn't being used
[!!] ISAM is enabled but isn't being used
[!!] Total fragmented tables: 10

* Performance Metrics
[--] Up for: 32d 15h 26m 11s (55M q [19.511 qps], 6M conn, TX: 658M, RX: 2B)
[--] Reads / Writes: 83% / 17%
[--] Total buffers: 81.7M global + 2.7M per thread (250 max threads)
[OK] Maximum possible memory usage: 753.6M (37% of installed RAM)
[OK] Slow queries: 0% (1K/55M)
[OK] Highest usage of available connections: 40% (101/250)
[OK] Key buffer size / total MyISAM indexes: 8.0M/1.2G
[OK] Key buffer hit rate: 99.9% (58B cached / 44M reads)
[!!] Query cache efficiency: 0.1% (29K cached / 32M selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (915 temp sorts / 15M sorts)
[!!] Joins performed without indexes: 1613974
[OK] Temporary tables created on disk: 23% (5M on disk / 21M total)
[!!] Thread cache hit rate: 0% (6M created / 6M connections)
[!!] Table cache hit rate: 0% (96 open / 1M opened)
[OK] Open file limit used: 14% (148/1K)
[OK] Table locks acquired immediately: 99% (73M immediate / 73M locks)
[OK] InnoDB data size / buffer pool: 3.0M/8.0M

* Recommendations
General recommendations:
Add skip-bdb to MySQL configuration to disable BDB
Add skip-isam to MySQL configuration to disable ISAM (MySQL > 4.1.0)
Run OPTIMIZE TABLE to defragment tables for better performance
Adjust your join queries to always utilize indexes
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
query_cache_limit (> 4B, or use smaller result sets)
join_buffer_size (> 128.0K, or always use indexes with joins)
thread_cache_size (> 250)
table_cache (> 96)