PrincipalEmpresaSoporteContacto

950 62 70 23

Dominios    Hosting    Servidores Dedicados    Housing    Backup Remoto    Multimedia    Promoción Web

Sistema de Soporte » Manuales y Preguntas Frecuentes ( FAQ ) » Sentencias para el mantenimiento de tablas mysql
 Login [Recuperar contraseña] 
Email:
Contraseña:
Recordarme:
 
 Buscar
Realice consulta a hostineitor
 Opciones de Articulo
 Sentencias para el mantenimiento de tablas mysql
Respuesta

13.5.2.1. Sintaxis de ANALYZE TABLE

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

Este comando analiza y almacena la distribución de clave para una tabla. Durante el análisis, la tabla se bloquea con un bloqueo de lectura. En MySQL 5.0, funciona en tablas MyISAM, BDB, y InnoDB . Para tablas MyISAM , este comando es equivalente a usar myisamchk -a.

MySQL usa la distribución de claves almacenada para decidir el orden en que las tablas deben hacer los joins cuando realiza uno en algo que no sea una constante.

El comando retorna una tabla con las siguientes columnas:

Columna Valor
Tabla Nombre de tabla
Op Siempre analyze
Msg_type Es status, error, info, o warning
Msg_text Mensaje

Puede chequear la distribución de claves almacenada con el comando SHOW INDEX . Consulte Sección 13.5.4.11, ?Sintaxis de SHOW INDEX?.

Si la tabla no ha cambiado desde el último comando ANALYZE TABLE , la tabla no se vuelve a analizar.

En MySQL 5.0, los comandos ANALYZE TABLE se escriben en el log binario a no ser que la palabra clave NO_WRITE_TO_BINLOG opcional (o su alias LOCAL) se use.

13.5.2.2. Sintaxis de BACKUP TABLE

BACKUP TABLE tbl_name [, tbl_name] ... TO '/path/to/backup/directory'

Nota: Este comando está obsoleto. Estamos trabajano en un mejor sustituto para este que proporcionará capacidades de copia de seguridad en línea. De momento, el script mysqlhotcopy puede usarse.

BACKUP TABLE copia al directorio de base de datos el mínimo número de ficheros de tablas necesarias para restaurar la tabla, tras volcar cualquier cambios almacenados en el buffer a disco. El comando funciona sólo para tablas MyISAM . Copia los ficheros de definición .frm y de datos .MYD . El fichero índice .MYI puede reconstruirse desde estos otros. El directorio debe especificarse con la ruta entera.

Antes de usar este comando consulte Sección 5.8.1, ?Copias de seguridad de bases de datos?.

Durante la copia de seguridad, se realiza un bloqueo de lectura para cada tabla, uno cada vez, mientras se hace la copia. Si quier hacer una copia de seguridad de varias tablas como una muestra (evitando que ninguna de ellas se cambie durante la operación de la copia de seguridad), debe realizar un comando LOCK TABLES para obtener un bloqueo de lectura para cada tabla en el grupo.

El comando retorna una tabla con las siguientes columnas:

Columna Valor
Tabla Nombre de tabla
Op Siempre backup
Msg_type Es status, error, info, o warning
Msg_text Mensaje

13.5.2.3. Sintaxis de CHECK TABLE

CHECK TABLE tbl_name [, tbl_name] ... [option] ...

option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}

Chequea una tabla o tablas para errores. CHECK TABLE funciona para tablas MyISAM y InnoDB . Para tablas MyISAM , la estadística de clave se actualiza.

Desde MySQL 5.0.2, CHECK TABLE puede comprobar las vistas en busca de problemas tales como tablas que se referencian en la definición de la vista que ya no existe.

El comando CHECK TABLE retorna una tabla con las siguientes columnas:

Columna Valor
Tabla Nombre de tabla
Op Siempre check
Msg_type Es status, error, info, o warning
Msg_text Mensaje

Tenga en cuenta que el comando puede producir varios registros para información de cada tabla chequeada. El último registro tiene un valor Msg_type de status y Msg_text normalmente debe ser OK. Si no obtiene OK, o Table is already up to date debe realizar una reparación de la tabla. Consulte Sección 5.8.3, ?Mantenimiento de tablas y recuperación de un fallo catastrófico (crash)?. Table is already up to date significa que el motor de almacenamiento para la tabla indicada indica que no hay necesidad de chequear la tabla.

Las distintas opciones de chequeo que pueden darse se muestran en la siguiente tabla. Estas opciones se aplican sólo para tablas MyISAM y se ignoran en tablas InnoDB y vistas.

Tipo Significado
QUICK No escanea los registros para chequear enlaces incorrectos.
FAST Sólo chequea tablas que no se han cerrado correctamente.
CHANGED Sólo las tablas chequeadas que se han cambiado desde el úlitmo chequeo o no se han cerrado correctamente.
MEDIUM Escanea registros para verificar que los enlaces borrados están bien. También calcula el checksum de la clave para los registros y lo verifica con el checksum calculado para las claves.
EXTENDED Realiza una búsqueda completa para todas las claves para cada registro. Se asegura que la tabla es consistente 100%, pero tarda mucho tiempo!

Si ninguna de las opciones QUICK, MEDIUM, o EXTENDED se especifica, el tipo de chequeo por defecto para tablas de formato dinámico MyISAM es MEDIUM. Esto es lo mismo que ejecutar myisamchk --medium-check tbl_name en la tabla. El tipo de chequeo por defecto también es MEDIUM para tablas MyISAM de formato estático, a no ser que se especifique CHANGED o FAST. En tal caso, por defecto es QUICK. El escaneo de registro se evita para CHANGED y FAST porque los registros están corruptos muy raramente.

Puede combinar opciones de chequeo, como en el siguiente ejemplo, que realiza un chequeo rápido de la tabla para ver si se cerró correctamente:

CHECK TABLE test_table FAST QUICK;

Nota: En algunos casos, CHECK TABLE cambia la tabla. Esto ocurre si la tabla se marca como ?corrupted? o ?not closed properly? pero CHECK TABLE no encuentra ningún problema en la tabla. En este caso, CHECK TABLE marca la tabla como correcta.

Si una tabla está corrupta, es más probable que el problema esté en el índice y no en la parte de datos. Todos los tipos de chequeo chequean los índices profundamente y deberían encontrar la mayoría de errores.

Si quiere chequear una tabla que asume como correcta, no debe usar opciones de chequeo o la opción QUICK. Ésta debe usarse cuando tiene prisa y puede permitirse el pequeño riesgo que QUICK no encuentre un error en el fichero de datos. (En la mayoría de casos, MySQL debería encontrar, bajo uso normal, cualquier error en el fichero de datos. Si esto ocurre, la tabla se marca como ?corrupted? y no puede usarse hasta que se repare.)

FAST y CHANGED están pensados para usar desde un script (por ejemplo, para ejecutarse desde cron) si quiere chequear sus tablas de vez en cuando. En la mayoría de casos, FAST se prefiere en lugar de CHANGED. (El único caso en que no es el método preferido es cuando sospecha que ha encontrado un bug en el código MyISAM .)

EXTENDED debe usarse sólo después de ejecutar un chequeo normal pero todavía obtiene errores extraños de la tabla cuando MySQL intenta actualizar un registro o encuentra un registro mediante la clave. (Esto es muy improbable si un chequeo normal ha tenido éxito.)

Algunos problemas reportados por CHECK TABLE no pueden corregirse automáticamente:

  • Found row where the auto_increment column has the value 0.

    Esto significa que tiene un registro en la tabla donde la columna AUTO_INCREMENT contiene un valor de índice de 0. (Es posible crear un registro donde la columna AUTO_INCREMENT es 0 poneindo la columna explícitamente a 0 con un comando UPDATE .)

    Esto no es un error por si mismo, pero puede causar problemas si decide volcar la tabla y restaurarla o realizar un ALTER TABLE en la tabla. En este caso, la columna AUTO_INCREMENT cambia los valores según las reglas de las columnas AUTO_INCREMENT , que pueden causar problemas tales como errores de clave duplicada.

    Para evitar las advertencias, símplemente ejecute un comando UPDATE para poner en la columna un valor distinto a 0.

13.5.2.4. Sintaxis de CHECKSUM TABLE

CHECKSUM TABLE tbl_name [, tbl_name] ... [ QUICK | EXTENDED ]

Reporta un checksum de tabla.

Si QUICK se especifica, el checksum de la tabla se reporta si está disponible, o NULL en otro caso. Esto es muy rápido. Un checksum en vivo está permitido especificando la opción de tabla CHECKSUM=1 , actualmente sólo soportado por tablas MyISAM . Consulte Sección 13.1.5, ?Sintaxis de CREATE TABLE?.

En modo EXTENDED la tabla completa se lee registro a registro y se calcula el checksum. Esto puede ser muy lento para tablas grandes.

Por defecto, si no se especifica ni QUICK ni EXTENDED , MySQL retorna un checksum en vivo si el motor de tabla lo soporta y escanea la tabla de otro modo.

CHECKSUM TABLE retorna NULL para tablas no existentes. Desde MySQL 5.0.3, se genera una advertencia para esta condición.

13.5.2.5. Sintaxis de OPTIMIZE TABLE

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

OPTIMIZE TABLE debe usarse si ha borrado una gran parte de la tabla o si ha hecho varios cambios en una tabla con registros de longitud variable (tablas que tienen columnas VARCHAR, BLOB, o TEXT ). Los registros borrados se mantienen en una lista enlazada y operaciones INSERT posteriores reúsan posiciones de antiguos registros. Puede usar OPTIMIZE TABLE para reclamar el usuario no usado y para defragmentar el fichero de datos.

En la mayoría de inicializaciones, no necesita ejecutar OPTIMIZE TABLE para nada. Incluso si hace muchas actualizaciones a registros de longitud variables, no es probable que necesite hacerlo más de una vez a la semana o mes y sólo en ciertas tablas.

Actualmente, OPTIMIZE TABLE funciona sólo en tablas MyISAM, BDB y InnoDB .

Para tablas MyISAM , OPTIMIZE TABLE funciona como sigue:

  1. Si la tabla ha borrado o dividido registros, repare la tabla.
  2. Si las páginas índice no están ordenadas, ordénelas.
  3. Si las estadísticas no están actualizadas (y la reparación no puede hacerse ordenando el índice), actualícelas.

Para tablas BDB , OPTIMIZE TABLE es mapea como ANALYZE TABLE. Para tablas InnoDB , se mapea con ALTER TABLE, que reconstruye la tabla. Reconstruye las estadísticas actualizadas de índice y libera espacio no usado en el índice clusterizado. Consulte Sección 13.5.2.1, ?Sintaxis de ANALYZE TABLE?.

Puede hacer que OPTIMIZE TABLE funcione con otros tipos de tabla arrancando mysqld con la opción --skip-new o --safe-mode ; en este caso OPTIMIZE TABLE se mapea con ALTER TABLE.

Tenga en ceunta que MySQL bloquea la tabla mientras se ejecuta OPTIMIZE TABLE .

En MySQL 5.0, los comandos OPTIMIZE TABLE se escriben en el log binario a no ser que la palabra NO_WRITE_TO_BINLOG opcional(o su alias LOCAL) se use. Esto se hace para que los comandos OPTIMIZE TABLE se usen en MySQL server actuando como maestro de replicación se replique por defecto en el esclavo de replicación.

13.5.2.6. Sintaxis de REPAIR TABLE

REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE
    tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]

REPAIR TABLE repara una tabla posiblemente corrupta. Por defecto, tiene el mismo efecto que myisamchk --recover tbl_name. REPAIR TABLE funciona sólo en tablas MyISAM.

Normalmente nunca debe ejecutar este comando. Sin embargo, si hay un desastre, REPAIR TABLE puede recuperar todos los datos de una tabla MyISAM . Si sus tablas se corrompen a menudo, debe intentar encontrar la razón de lo que lo causa, para eliminar la necesidad de usar REPAIR TABLE. Consulte Sección A.4.2, ?Qué hacer si MySQL sigue fallando (crashing)?. Consulte Sección 14.1.4, ?Problemas en tablas MyISAM?.

El comando retorna una tabla con las siguientes columnas:

Columna Valor
Tabla Nombre de tabla
Op Siempre es repair
Msg_type Es status, error, info, o warning
Msg_text Mensaje

El comando REPAIR TABLE puede producir muchos registros de información para cada tabla reparada. El último registro tiene un valor Msg_type de status y Msg_test normalmente debe ser OK. Si no obtiene OK, debe intentar reparar la tabla con myisamchk --safe-recover, ya que REPAIR TABLE no implementa todas las opciones de myisamchk. Plaenamos hacerlo más flexible en el futuro.

Si se da QUICK , REPAIR TABLE intenta reparar sólo el árbol índice. Este tipo de reparación es como lo que hace myisamchk --recover --quick.

Si usa EXTENDED, MySQL crea el índice registro a registro en lugar de crear un índice a la vez ordenando. Este tipo de reparación es como el hecho por myisamchk --safe-recover.

También hay un modo USE_FRM disponible en MySQL 5.0 para REPAIR TABLE. Use esto si el fichero índice .MYI no existe o su cabecera está corrupta. En este modo, MySQL recrea el fichero .MYI usando información desde el fichero .frm . Este tipo de reparación no puede hacerse con myisamchk. Nota: Use este modo sólo si no puede usar modos REPAIR normalmente. La cabecera .MYI contiene información importante de metadatos (en particular, los valores actuales AUTO_INCREMENT y Delete link) que se pierden en REPAIR ... USE_FRM. No use USE_FRM si la tabla está comprimida, ya que esta información se almacena en el fichero .MYI .

En MySQL 5.0, los comandos REPAIR TABLE se escriben en el log binario a no ser que la palabra opcional NO_WRITE_TO_BINLOG (o su alias LOCAL) se use.

Atención: Si el servidor muere durante una operación REPAIR TABLE, es esencial tras restaurarla que inmediatamente ejecute otro comando REPAIR TABLE para la tabla antes de realizar cualquier otra operación en ella. (Siempre es una buena idea empezar haciendo una copia de seguridad.) En el peor caso, puede tener un nuevo fichero índice limpio sin información acerca del fichero de datos, y luego la siguiente operación que realice puede sobreescribir el fichero de datos. Este es un escenario improbable pero posible.

13.5.2.7. Sintaxis de RESTORE TABLE

RESTORE TABLE tbl_name [, tbl_name] ... FROM '/path/to/backup/directory'

Restaura la tabla o tablas de una copia de seguridad que se hizo con BACKUP TABLE. Las tablas existentes no se sobreescriben; si trata restaurar una tabla existente, obtiene un error. Pero como BACKUP TABLE, RESTORE TABLE actualmente funciona sólo para tablas MyISAM . El directorio debe especificarse como una ruta completa.

La copia de seguridad para cada tabla consiste en su fichero de formato .frm y fichero de datos .MYD . La operación de restauración restaura aquellos ficheros, luego los usa para reconstruir el fichero índice .MYI. La restauración tarda más tiempo que la copia de seguridad debido a la necesidad de reescribir los índices. Mientras más índices tenga la tabla, más tarda.

El comando retorna una tabla con las siguientes columnas:

Columna Valor
Tabla Nombre de tabla
Op Siempre restore
Msg_type Es status, error, info, o warning
Msg_text Mensaje

13.5.3. Sintaxis de SET

SET variable_assignment [, variable_assignment] ...

variable_assignment:
      user_var_name = expr
    | [GLOBAL | SESSION] system_var_name = expr
    | @@[global. | session.]system_var_name = expr

SET inicializa distintos tipos de variables que afectan la operación del servidor o de su cliente. Puede usarse para asignar valores a las variables de usuario o de sistema.

El comando SET PASSWORD para asignar contraseñas de cuenta se describen en Sección 13.5.1.5, ?Sintaxis de SET PASSWORD?.

La mayoría del sistema puede cambiarse en tiempo de ejecución. Las variables de sistema que pueden describirse dinámicamente se describen en Sección 5.3.3.1, ?Variables de sistema dinámicas?.

Nota: Las versiones antiguas de MySQL empleaban SET OPTION para este comando, pero su uso está obsoleto en favor de SET.

El siguiente ejemplo muestra las distintas sintaxis que puede usar para cambiar las variables.

Una variable de usuario se escribe como @var_name y puede cambiarse como sigue:

SET @var_name = expr;

Más información sobre variables de usuario se da en Sección 9.3, ?Variables de usuario?.

Se puede referir a las variables de sistema en comandos SET como var_name. El nombre puede ir precedido opcionalmente por GLOBAL o @@global. para indicar explícitamente que la variable es global, o por SESSION, @@session., o @@ para indicar que es una variable de sesión. LOCAL y @@local. son sinónimos para SESSION y @@session.. Si no hay modificador presente, SET asigna un valor a la variable de sesión.

La sintaxis @@var_name para variables de sistema se soporta para hacer la sintaxis de MySQL compatible con otros sistemas de base de datos.

Si cambia varias variables de sistema en el mismo comando, la última opción GLOBAL o SESSION usada se usa para variables que no tienen modo especificado.

SET sort_buffer_size=10000;
SET @@local.sort_buffer_size=10000;
SET GLOBAL sort_buffer_size=1000000, SESSION sort_buffer_size=1000000;
SET @@sort_buffer_size=1000000;
SET @@global.sort_buffer_size=1000000, @@local.sort_buffer_size=1000000;

Si cambia una variable de sistema usando SESSION (por defecto), el valor queda en efecto hasta que la sesión actual finaliza o hasta que cambia la variable con un valor distinto. Si cambia la variable de sistema usando GLOBAL, que requiere el permiso SUPER , el valor se recuerda y se usa para nuevas conexiones hasta que el servidor se reinicia. Si quiere hacer un cambio de variable permanente, debe ponerlo en un fichero de opciones. Consulte Sección 4.3.2, ?Usar ficheros de opciones?.

Para evitar uso incorrecto, MySQL produce un error si usa SET GLOBAL con una variable que sólo puede ser usada con SET SESSION o si no especifica GLOBAL (o @@) cuando cambie una variable global.

Si quiere cambiar una variable SESSION al valor GLOBAL o un valor GLOBAL al valor de compilación de MySQL por defecto, puede hacerlo con DEFAULT. Por ejemplo, los siguientes dos comandos son idénticos en cambiar los valores de sesión o max_join_size al valor global:

SET max_join_size=DEFAULT;
SET @@session.max_join_size=@@global.max_join_size;

Puede obtener una lista de la mayoría de variables de sistema con SHOW VARIABLES. (Consulte Sección 13.5.4.21, ?Sintaxis de SHOW VARIABLES?.) Para obtener un nombre de variable específico, use una cláusula LIKE commo se muestra:

SHOW VARIABLES LIKE 'max_join_size';
SHOW GLOBAL VARIABLES LIKE 'max_join_size';

Para obtener una lista de variables cuyos nombres coinciden con un patrón, use el comodín '%':

SHOW VARIABLES LIKE 'have%';
SHOW GLOBAL VARIABLES LIKE 'have%';

El comodín puede usarse en cualquier posición dentro del patrón para coincidir.

Puede obtener el valor de un valor específico usando la sintaxis @@[global.|local.]var_name con SELECT:

SELECT @@max_join_size, @@global.max_join_size;

Cuando recibe una variable con SELECT @@var_name (esto es,no especifica global., session., o local.), MySQL retorna el valor SESSION si existe y el valor GLOBAL en otro caso.

La siguiente lista describe variables que tienen sintaxis no estándar o que no se describe en la lista de variables de sistema que se encuentra en Sección 5.3.3, ?Variables de sistema del servidor?. Aunque estas variables no se muestran con SHOW VARIABLES, puede obtener sus valores con SELECT (con la excepción de CHARACTER SET y SET NAMES). Por ejemplo:

mysql> SELECT @@AUTOCOMMIT;
+--------------+
| @@autocommit |
+--------------+
|            1 |
+--------------+
  • AUTOCOMMIT = {0 | 1}

    Pone el modo autocommit . Con valor 1, todos los cambios de una tabla toman efecto inmediatamente. Si se pone a 0, debe usar COMMIT para aceptar una transacción o ROLLBACK para cancelarla. Si cambia el modo AUTOCOMMIT de 0 a 1, MySQL realiza un COMMIT automático de cualquier transacción abierta . Otra forma de comenzar una transacción es usar un comando START TRANSACTION o BEGIN. Consulte Sección 13.4.1, ?Sintaxis de START TRANSACTION, COMMIT y ROLLBACK?.

  • BIG_TABLES = {0 | 1}

    Si se pone a 1, todas las tablas temporales se almacenan en disco en lugar que en memoria. Esto es un poco lento, pero el error The table tbl_name is full no ocurre para operaciones SELECT que requieran una tabla temporal grande. El valor por defecto para una nueva conexión es 0 (use tablas temporales en memoria). Normalmente, nunca debería necesitar usar esta variable, ya que MySQL 5.0 convierte automáticamente tablas en memoria a tablas en disco como se requiere. (Nota: Esta variable se llamaba préviamente SQL_BIG_TABLES.)

  • CHARACTER SET {charset_name | DEFAULT}

    Esto mapea todas las cadenas desde y hacia el cliente con el mapeo dado. Puede añadir nuevos mapeos editando sql/convert.cc en la distribución fuente MySQL. En MySQL 5.0, SET CHARACTER SET cambia tres variables de sistema character_set_client y character_set_results se actualizan con el conjunto de carácteres dado, y character_set_connection al valor de character_set_database.

    El mapeo por defecto puede restaurarse usando el valor DEFAULT.

    Tenga en cuenta que la sintaxis para SET CHARACTER SET difiere de la de la mayoría de otras opciones.

  • FOREIGN_KEY_CHECKS = {0 | 1}

    Con valor de 1 (por defecto), las claves foráneas para tablas InnoDB se chequean. Si se pone a 0, se ignoran. Deshabilitar el chequeo de clave foránea puede ser útil para recargar tablas InnoDB en un orden distinto que el requerido por sus relaciones padre/hijo, Consulte Sección 15.6.4, ?Restricciones (constraints) FOREIGN KEY?.

  • IDENTITY = value

    La variable es un sinónimo para la variable LAST_INSERT_ID . Existe por compatibilidad con otras bases de datos. Puede leer su valor con SELECT @@IDENTITY, y cambiarlo mediante SET IDENTITY.

  • INSERT_ID = value

    Cambia el valor a ser usado por los comandos INSERT o ALTER TABLE al insertar un valor AUTO_INCREMENT . Esto se usa principalmente con el lob binario.

  • LAST_INSERT_ID = value

    Cambia el valor a ser retornado de LAST_INSERT_ID(). Esto se almacena en el log binario cuando usa LAST_INSERT_ID() en un comando que actualice una tabla. Cambiar esta variable no actualiza el valor retornado por la función de la mysql_insert_id() API de C.

     

  • NAMES {'charset_name' | DEFAULT}

    SET NAMES cambia tres variables de sesión de sistema character_set_client, character_set_connection, y character_set_results al conjunto de carácteres dado. Cambiar character_set_connection a charset_name también cambia collation_connection a la colación por defecto para charset_name.

    El mapeo por defecto puede restaurarse usando un valor de DEFAULT.

    Tenga en cuenta que la sintaxis para SET NAMES difiere de la usada para la mayoría de otras opciones.

  • SQL_NOTES = {0 | 1}

    Con el valor 1 (por defecto), advertencias del nivel Note se registran. Con valor 0, las advertencias Note se suprimen. mysqldump incluye la salida para cambiar esta variable a 0 así que recargar el fichero volcado no produce advertencias para eventos que no afectan a la integridad de la operación de recarga. SQL_NOTES se añadió en MySQL 5.0.3.

  • SQL_AUTO_IS_NULL = {0 | 1}

    Con valor 1 (por defecto), puede encontrar el último registro insertado para una tabla que contiene una columna AUTO_INCREMENT usando el siguiente constructor:

     

    WHERE auto_increment_column IS NULL
    

     

    Este comportamiento lo usan algunos programas ODBC, como Access.

  • SQL_BIG_SELECTS = {0 | 1}

    Con valor 0, MySQL aborta los comandos SELECT que probablemente tardarán mucho tiempo (esto es, comandos para los que el optimizador estima que el número de registros examinados excede el valor de max_join_size). Esto es útil cuando un comando WHERE no aconsejable se ejecuta. El valor por defecto para una nueva conexión es 1, que permite todos los comandos SELECT .

    Si cambia la variable de sistema max_join_size a un valor distinto a DEFAULT, SQL_BIG_SELECTS se pone a 0.

  • SQL_BUFFER_RESULT = {0 | 1}

    SQL_BUFFER_RESULT fuerza los resultados de los comandos SELECT a poner en tablas temporales. Esto ayuda a MySQL a liberar los bloqueos de tabla rápidamente y pueden ser beneficioso en caso que tarde un largo tiempo para enviar resultados al cliente.

  • SQL_LOG_BIN = {0 | 1}

    Con valor 0, no se realiza logueo en el log binario para el cliente. El cliente debe tener el permiso SUPER para cambiar esta opción.

  • SQL_LOG_OFF = {0 | 1}

    Con valor 1SUPER para cambiar esta opción.

  • SQL_LOG_UPDATE = {0 | 1}

    Esta variable está obsoleta, y es mapea a SQL_LOG_BIN.

  • SQL_QUOTE_SHOW_CREATE = {0 | 1}

    Con valor 1, SHOW CREATE TABLE entrecomilla los nombres de tabla y columnas. Si se pone a 0, se desactiva el entrecomillado. Esta opción está activada por defecto, así que la replicación funciona para tablas con nombres de tabla y columna que no lo requieren. Consulte Sección 13.5.4.5, ?Sintaxis de SHOW CREATE TABLE?.

  • SQL_SAFE_UPDATES = {0 | 1}

    Con valor 1, MySQL aborta comandos UPDATE o DELETE que no usan una clave en la cláusula WHERE o LIMIT . Esto hace posible cazar los comandos UPDATE o DELETE donde las claves no se usan apropiadamente y que probablemente cambiarían o borrarían un gran número de registros.

  • SQL_SELECT_LIMIT = {value | DEFAULT}

    El máximo número de registros a retornar desde comandos SELECT . El valor por defecto para una nueva conexión es ?unlimited.? Si cambia este límite, el valor por defecto puede restaurarse usando un valor SQL_SELECT_LIMIT de DEFAULT.

    Si un SELECT tiene una cláusula LIMIT el LIMIT tiene preferencia sobre el valor de SQL_SELECT_LIMIT.

    SQL_SELECT_LIMIT no se aplica a comandos SELECT ejecutados en rutinas almacenadas. Tampoco se aplica a comandos SELECT que no producen un conjunto de resultados a ser retornado al cliente. Esto incluye comandos SELECT en subconsultas, CREATE TABLE ... SELECT, y INSERT INTO ... SELECT.

  • SQL_WARNINGS = {0 | 1}

    Esta variable controla si comandos INSERT de un registro producen una cadena de información si hay una advertencia. Por defecto es 0. Cambie el valor a 1 para producir una cadena de información.

  • TIMESTAMP = {timestamp_value | DEFAULT}

    Cambia la hora del cliente. Se usar para obtener la fecha y hora original si usa el log binario para restaurar registros. timestamp_value debe ser un Unix epoch timestamp, no un timestamp de MySQL.

  • UNIQUE_CHECKS = {0 | 1}

    Con valor 1 (por defecto), se realizan chequeos en tablas InnoDB para índices secundarios. Con valor 0, no se hacen chequeos de valores únicos para entradas de índices insertados en el búffer de inserción de InnoDB. Si sabe con certeza que sus datos no contienen violaciones de valores únicos, puede ponerlo a 0 para acelerar importaciones de tablas grandes a InnoDB.

 


Creditos: Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

 



Detalles del Articulo
Código del Articulo: 209
Fecha de Creación: 30 Aug 2007 12:04 PM

 Esta respuesta me fue util  Esta respuesta no me fue util

Empresa   |   Noticias  |   Infraestructura  |   Ayuda  |   Mapa del sitio  |   Aviso Legal  
Copyright 2002-2007 © Soluciones Web On Line S.L.