Run OPTIMIZE TABLE to defragment tables for better performance
I am running Linux 64-Bit OS. My mysql tuner is saying the things below:
-------- General Statistics -------------------------------------------------- [--] Skipped version check for MySQLTuner script [OK] Currently running supported MySQL version 5.1.61-log [OK] Operating on 64-bit architecture -------- Storage Engine Statistics ------------------------------------------- [--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster [--] Data in MyISAM tables: 1G (Tables: 1914) [--] Data in InnoDB tables: 4M (Tables: 199) [!!] Total fragmented tables: 296 -------- Security Recommendations ------------------------------------------- [OK] All database users have passwords assigned -------- Performance Metrics ------------------------------------------------- [--] Up for: 6s (7K q [1K qps], 142 conn, TX: 8M, RX: 701K) [--] Reads / Writes: 97% / 3% [--] Total buffers: 1.7G global + 13.2M per thread (384 max threads) [OK] Maximum possible memory usage: 6.6G (42% of installed RAM) [OK] Slow queries: 0% (0/7K) [OK] Highest usage of available connections: 5% (20/384) [OK] Key buffer size / total MyISAM indexes: 1.5G/2.7G [OK] Key buffer hit rate: 97.4% (553K cached / 14K reads) [OK] Query cache efficiency: 64.6% (4K cached / 6K selects) [OK] Query cache prunes per day: 0 [OK] Sorts requiring temporary tables: 0% (2 temp sorts / 337 sorts) [OK] Temporary tables created on disk: 8% (17 on disk / 198 total) [OK] Thread cache hit rate: 85% (20 created / 142 connections) [OK] Table cache hit rate: 98% (438 open / 445 opened) [OK] Open file limit used: 10% (856/8K) [OK] Table locks acquired immediately: 99% (2K immediate / 2K locks) [OK] InnoDB data size / buffer pool: 4.2M/8.0M -------- Recommendations ----------------------------------------------------- General recommendations: Run OPTIMIZE TABLE to defragment tables for better performance MySQL started within last 24 hours - recommendations may be inaccurate
Their recommendations is to run OPTIMIZE TABLE
to defragment tables for better performance; But I don't know how to run it via Putty.
Is there anyone who can give me the code how do I run it via Putty?
Solution 1:
OPTIMIZE TABLE
is a SQL statement - run it in a MySQL client.
On the command line of the server, you should have the command line client installed; you can connect to your database in the client with mysql -u username -p
.
See the documentation on OPTIMIZE TABLE
for more information.
Solution 2:
You can also try mysqlcheck -u username -p --auto-repair --optimize --all-databases
in the terminal.
As far as running "optimize table" you can start MySQL like this mysql -u username -p
and from there you can execute commands. Typically the first command I use is show databases;
but you should really find a MySQL tutorial first. The first one that came up in Google: http://downloads.mysql.com/docs/mysql-tutorial-excerpt-5.1-en.pdf
Whether you're using putty or not is irrelevant. You might want to say "from the command-line" instead of "via Putty."