Jim,

>> Does MySQL automatically handle deleted row cleanup, or is it necessary to
>> periodically do this manually for tables with a lot of deletions?  If it's
>> manual, what are the SQL commands to do this?

Depends on which storage engine you are using. If you are using InnoDB
tables, there's no need to "vacuum" tables that way, as InnoDB will do
that automatically. If you use MyISAM tables, however, you might be
able to speed up things quite a bit by using the OPTIMIZE TABLE
command at regular intervals. That SQL command will reclaim unused
space that results from deleting rows, and it will speed up table
lookups:

http://www.mysql.com/doc/en/OPTIMIZE_TABLE.html

>> Also, what happens when changes are made to a field definition?  From, say,
> int
>> to smallint, or tinyint to int, or varchar(255) to varchar(10)?  Do temporary
>> tables get created and the data copied over, or does unused space end up in
> the
>> data files, to be collected later?

This sentence from the manual should make that clear: "ALTER TABLE
works by making a temporary copy of the original table." You can find
details here:

http://www.mysql.com/doc/en/ALTER_TABLE.html

Regards,
--
  Stefan Hinz <[EMAIL PROTECTED]>
  iConnect GmbH <http://iConnect.de>
  Heesestr. 6, 12169 Berlin (Germany)
  Telefon: +49 30 7970948-0  Fax: +49 30 7970948-3

[filter fodder: sql, mysql, query]


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to