Services webmasters
Partenaires
Jeux concours gratuits
 
Syntaxe de SELECT
<<<
Syntaxe de HANDLER Syntaxe de INSERT
>>>

6.4 Manipulation de données : SELECT , INSERT , UPDATE , DELETE
6 Référence du langage MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Syntaxe de SELECT
->Syntaxe de HANDLER
Syntaxe de INSERT
Syntaxe de INSERT DELAYED
Syntaxe de UPDATE
Syntaxe de DELETE
Syntaxe de TRUNCATE
Syntaxe de REPLACE
Syntaxe de LOAD DATA INFILE
Syntaxe de DO

6.4.2 Syntaxe de HANDLER


HANDLER nom_de_table OPEN [ AS alias ]
HANDLER nom_de_table READ nom_index { = | >= | <= | < } (value1,value2,...)
    [ WHERE ... ] [LIMIT ... ]
HANDLER nom_de_table READ nom_index { FIRST | NEXT | PREV | LAST }
    [ WHERE ... ] [LIMIT ... ]
HANDLER nom_de_table READ { FIRST | NEXT }
    [ WHERE ... ] [LIMIT ... ]
HANDLER nom_de_table CLOSE
La commande HANDLER fournit un accès direct à l'interface de gestion de la table MyISAM .

La première forme de HANDLER ouvre la table, la rendant accessible via la requête HANDLER ... READ qui la suit. Cette objet table n'est pas partagé par les autres threads et ne sera refermé que si le thread appelle HANDLER nom_de_table CLOSE ou que celui ci se termine.

La seconde forme récupère une ligne (ou plus, à spécifier dans la clause LIMIT ) où l'index spécifié remplit les conditions et où la clause WHERE est répondue. Si l'index se compose de plusieurs parties, (s'étend sur plusieurs colonnes) les valeurs sont spécifiées dans une liste séparée par des virgules, fournir des valeurs pour quelques premières colonnes est possible.

La troisième forme récupère une ligne (ou plus, à spécifier dans la clause LIMIT ) de la table dans l'ordre de l'index, qui répond à la clause WHERE .

La quatrième forme (sans spécifications relatives à l'index) récupère une ligne (ou plus, à spécifier dans la clause LIMIT ) de la table dans un ordre naturel des lignes (comme stocké dans le fichier de données) qui correspond à la condition WHERE . C'est plus rapide que HANDLER nom_de_table READ nom_index quand une lecture entière de la table est requise.

HANDLER ... CLOSE ferme une table qui a été ouverte avec HANDLER ... OPEN .

HANDLER est en quelque sorte une commande bas-niveau. Par exemple, elle ne propose pas de consistance. En clair, HANDLER ... OPEN ne se base PAS sur une image de la table, et ne verrouille PAS la table. Cela signifie qu'après l'exécution d'une requête HANDLER ... OPEN , les données de la table peuvent être modifiées (par ce ou un autre thread) et ces modifications peuvent apparaître partiellement dans les lectures de HANDLER ... NEXT ou HANDLER ... PREV .

Les raisons d'utiliser cette interface plutôt que les commandes MySQL usuelles sont :
  • Plus rapide qu'un SELECT car :
    • Un pointeur sur table dédié est alloué au thread dans HANDLER open .
    • Il y'a moins de traitements.
    • Pas de pertes de temps en optimisation ou vérifications de requêtes.
    • La table utilisée n'a pas besoin d'être verrouillée entre deux requêtes de gestion.
    • L'interface de gestion n'a pas à fournir une vue consistante des données (par exemple, les lectures corrompues sont autorisées), ce qui permet au gestionnaire d'effectuer des optimisations que SQL ne permet pas.
  • Cela facilite le port des applications qui utilisent l'interface ISAM pour MySQL.
  • Cela permet de traverse plus facilement la base de données qu'avec SQL (dans certains cas, cette opération est impossible avec SQL). L'interface de gestion amène une façon plus naturelle de manipuler les données lorsque vous travaillez avec des applications qui proposent une interface interactive entre l'utilisateur et la base de données.

<< Syntaxe de HANDLER >>
Syntaxe de SELECT Manipulation de données : SELECT , INSERT , UPDATE , DELETE Syntaxe de INSERT
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -