3. innodb_file_per_table

Each table will have its own tablespace instead of using a common tablespace. On the file system, this means
each database table with have its own file on disk. This is useful if you are
low on space - you can drop a table and disk space will be reclaimed. If you are using a common tablespace then
its not possible. Usually database servers are allocated space beforehand, so this is more of a developer
setup. If you were to do this on production I'm unsure of the performance impacts.

Add "innodb_file_per_table" to my.ini on a line by itself under the mysqld section.

To reclaim space you can run "optimize table table_name". This will rebuild the corresponding ibd file. The
table will be locked for the duration of the command. While the command is running, a new temporary table is being created
with name prefixed with "#sql-" (e.g. "#sql-50e7_5.ibd"). You can see the size growing on disk, so you can
compare this to the original table to get an idea of progress.

4. Scripting

5. The MySQL Query Cache

The command "show global status" will give you a snapshot of the server. http://dev.mysql.com/doc/refman/5.1/en/server-status-variables.html

Variables to do with the query cache are

Qcache_lowmem_prunes may indicate that your cache is too small.

If a query result is returned from query cache, the server increments the Qcache_hits status variable,
not Com_select. If it misses the cache and has to evaluate the select statement, it will increment Com_select.