| Ordre
alphabétique |
|
| Par
catégories |
|
| Par
pays |
|
| Par
langue |
|
| PHP
- MYSQL |
|
| Outils
webmasters |
|
| Partenaires |
|
 |
| |
|
Syntaxe de HANDLER |
HANDLER tbl_name OPEN [ AS alias ]
HANDLER tbl_name READ index_name { =
| >= | <= | < } (value1,value2,...)
[ WHERE ... ] [LIMIT ... ]
HANDLER tbl_name READ index_name { FIRST
| NEXT | PREV | LAST }
[ WHERE ... ] [LIMIT ... ]
HANDLER tbl_name READ { FIRST | NEXT
}
[ WHERE ... ] [LIMIT ... ]
HANDLER tbl_name 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. Par exemple :
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 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.
Note : pour utiliser l'interface HANDLER
avec la clé primaire d'une table
PRIMARY KEY, utilisez l'identifiant
entre guillemets obliques `PRIMARY`
: HANDLER
tbl_name READ `PRIMARY` > (...);
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.
MySQL Reference Manual that can
be found at dev.mysql.com. The original
Reference Manual is in English, and
this translation is not necessarily
as up to date as the English version.
|
|
|
|
| |
|
| Menu |
|
| Ressources |
|
| Gifs
animés |
|
| Cliparts |
| |
| Services
divers |
|
 |
| |
|
|