HANDLERtbl_nameOPEN [ ASalias] HANDLERtbl_nameREADindex_name{ = | >= | <= | < } (value1,value2,...) [ WHEREwhere_condition] [LIMIT ... ] HANDLERtbl_nameREADindex_name{ FIRST | NEXT | PREV | LAST } [ WHEREwhere_condition] [LIMIT ... ] HANDLERtbl_nameREAD { FIRST | NEXT } [ WHEREwhere_condition] [LIMIT ... ] HANDLERtbl_nameCLOSE
        El comando HANDLER proporciona acceso directo
        a las interfaces del motor de la tabla. En MySQL 5.0, está
        disponible para tablas MyISAM y
        InnoDB .
      
        El comando HANDLER ... OPEN abre una tabla,
        haciéndola accesible mediante posteriores comandos
        HANDLER ... READ . Este objeto de tabla no se
        comparte con otros flujos y no se cierra hasta que el flujo
        llama HANDLER ... CLOSE o el flujo termina.
        Si abre la tabla usando un alias, referencias posteriores a la
        tabla con otros comandos HANDLER deben usar
        el alias en lugar del nombre de la tabla.
      
        La primera sintaxis HANDLER ... READ recibe
        un registro donde el índice especificado satisface los valores
        dados y la condición WHERE se cumple. Si
        tiene un índice de múltiples columnas, especifique los valores
        de la columna índice como una lista separada por comas. Los
        valores epecificados para todas las columnas en el índice, o
        los valores específicos para un prefijo a la izquierda de las
        columnas índice. Suponga que un índice incluye tres columnas
        llamadas col_a, col_b, y
        col_c, en ese orden. El comando
        HANDLER puede especificar valores para las
        tres columnas en el índice, o para las columnas en el prefijo a
        la izquierda. Por ejemplo:
      
HANDLER ...index_name= (col_a_val,col_b_val,col_c_val) ... HANDLER ...index_name= (col_a_val,col_b_val) ... HANDLER ...index_name= (col_a_val) ...
        La segunda sintaxis HANDLER ... READ recibe
        un registro de la tabla en orden del índice que cumple la
        condición WHERE .
      
        La tercera sintaxis HANDLER ... READ recibe
        un registro de la tabla en orden de registro natural que cumple
        la condición WHERE . Es más rápido que
        HANDLER  cuando se desea un escaneo completo de
        tabla. El orden de registro natural es el orden en que se
        almacenan los registros en un fichero de datos de una tabla
        tbl_name READ
        index_nameMyISAM. Este comando funciona para tablas
        InnoDB también, pero no hay tal concepto
        porque no hay un fichero de datos separado.
      
        Sin una cláusula LIMIT , todas las formas de
        HANDLER ... READ reciben un único registros
        si una está disponible. Para retornar un número específico de
        registros, incluya una cláusula LIMIT .
        Tiene la misma sintaxis que para el comando
        SELECT . Consulte Sección 13.2.7, “Sintaxis de SELECT”.
      
        HANDLER ... CLOSE cierra una tabla que se
        abrió con HANDLER ... OPEN.
      
        Nota: Para emplear la interfaz
        HANDLER para referirse a una tabla
        PRIMARY KEY, use el identificador
        `PRIMARY` entrecomillado:
      
  HANDLER tbl_name READ `PRIMARY` > (...);
        HANDLER es un comando de bajo nivel. Por
        ejemplo, no proporciona consistencia. Esto es, HANDLER
        ... OPEN no toma una muestra de
        la tabla, y no bloquea la tabla. Esto
        significa que tras un comando HANDLER ...
        OPEN realizado, los datos de la tabla pueden ser
        modificados (por este o por otro flujo) y estas modificaciones
        pueden aparecer sólo parcialmente en escaneos HANDLER
        ... NEXT o HANDLER ... PREV .
      
        Hay varias razones para usar la interfaz
        HANDLER en lugar de comandos
        SELECT normales:
      
            HANDLER es más rápido que
            SELECT:
          
                Un objeto de tratamiento de motor de almacenamiento
                designado se reserva para HANDLER ...
                OPEN. El objeto se reúsa para posteriores
                comandos HANDLER para esa tabla; no
                necesita reinicializarse para cada una.
              
Hay menos parseo.
No hay sobrecarga del chequeo de consultas ni optimizador.
La tabla no tiene que estar bloqueada entre peticiones.
                La interfaz del handler no tiene que propocionar una
                vista de los datos consistente (por ejemplo, se permiten
                dirty reads), así que el motor puede usar optimización
                que SELECT no permite.
              
            HANDLER hace mucho más fácil portar
            aplicaciones que usen una interfaz tipo
            ISAM a MySQL.
          
            HANDLER le permite consultar una base de
            datos de forma difícil o imposible de realizar con
            SELECT. La interfaz de
            HANDLER es una forma más natural de
            consultar los datos cuando se trabaja con aplicaciones que
            proporcionan una interfaz de usuario interactiva a la base
            de datos.
          
É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.

