Curso de MySQL
Consultas, lista de correo 'C++ Con Clase' 'MySQL Con Clase' página de entrada Tabla de contenido Contactar con Webmaster
Curso Sentencias Funciones API C

SQL

Sentencias

ALTER TABLE ANALYZE TABLE BACKUP TABLE BEGIN BEGIN WORK CHECK TABLE CHECKSUM TABLE COMMIT CREATE DATABASE CREATE TABLE CREATE USER DELETE DESCRIBE DO DROP DATABASE DROP INDEX DROP TABLE DROP USER FLUSH GRANT HANDLER INSERT INSERT ... SELECT INSERT DELAYED JOIN KILL LOAD DATA LOCK TABLES RENAME TABLE REPAIR TABLE REPLACE RESET REVOKE ROLLBACK SELECT SET SET TRANSACTION SHOW SHOW CHARACTER SET SHOW COLLATION SHOW COLUMNS SHOW CREATE DATABASE SHOW CREATE TABLE SHOW CREATE VIEW SHOW DATABASES SHOW ENGINES SHOW ERRORS SHOW GRANTS SHOW INDEX SHOW INNODB STATUS SHOW KEYS SHOW LOGS SHOW PRIVILEGES SHOW PROCESSLIST SHOW STATUS SHOW TABLE STATUS SHOW TABLES SHOW VARIABLES SHOW WARNINGS START TRANSACTION TRUNCATE UNION UNLOCK TABLES UPDATE USE

OPTIMIZE TABLE

OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name[,tbl_name]...

OPTIMIZE TABLE debe usarse si se ha eliminado gran parte de una tabla o si se han hecho muchos cambios en una tabla con filas de tamaño variable (tablas que contengan columnas VARCHAR, BLOB o TEXT). Los registros borrados se mantienen en una lista enlazada y subsiguientes operaciones INSERT hacen uso de las posiciones de anteriores registros. Se puede usar OPTIMIZE TABLE to recuperar el espacio no usado y para desfragmentar el fichero de datos.

En la mayoría de los sistemas no será necesario ejecutar OPTIMIZE TABLE. Aunque se hagan muchas actualizaciones en filas de longitud variable no es probable que sea necesario hacerlo más de una vez al mes o a la semana, y sólo en ciertas tablas.

De momento, OPTIMIZE TABLE funciona sólo en tablas MyISAM y BDB. Para tablas BDB, OPTIMIZE TABLE se convierte en ANALYZE TABLE.

Se puede hacer que OPTIMIZE TABLE funcione con otros tipos de tabla arrancando mysqld con --skip-new o --safe-mode, pero en ese caso OPTIMIZE TABLE se ejecuta como ALTER TABLE.

OPTIMIZE TABLE trabaja del modo siguiente:

La tabla se bloquea durante el tiempo en que se ejecuta OPTIMIZE TABLE.

Antes de MySQL 4.1.1, los comandos OPTIMIZE no actualizaban el diario binario. Desde MySQL 4.1.1 lo hacen salvo que se use la palabra clave opcional NO_WRITE_TO_BINLOG (o si alias LOCAL).

(4.0)