Services webmasters
Partenaires
Jeux concours gratuits
 
Optimisation de MySQL
<<<
Limitations et inconvénients des choix conceptuels de MySQL Portabilité
>>>

5.1 Vue d'ensemble de l'optimisation
5 Optimisation de MySQL
 Manuel de Référence MySQL 4.1 : Version Française

->Limitations et inconvénients des choix conceptuels de MySQL
Portabilité
Pour quoi avons nous utilisé MySQL ?
La suite de tests MySQL
Utiliser vos propres tests de performance

5.1.1 Limitations et inconvénients des choix conceptuels de MySQL

Avec les tables de type MyISAM, MySQL utilise un verrouillage extrêmement rapide (plusieurs lectures / une seule écriture). Le plus gros problème avec ce type de table survient quand vous avez un mélange de flux de modifications et des sélections lentes sur la même table. Si c'est une problème sur plusieurs tables, vous pouvez utiliser un autre type de table pour celles ci. Types de tables MySQL .

MySQL peut utiliser à la fois des tables transactionnelles et des tables non-transactionnelle. Pour pouvoir travailler tranquillement avec des tables non-transactionnelles (qui n'ont pas la possibilité de revenir en arrière si quelque chose se passe mal) MySQL suit les règles suivantes:
  • Toutes les colonnes ont une valeur par défaut.
  • Si vous insérez une mauvaise valeur dans une colonne (par exemple NULL dans une colonne NOT NULL , ou encore une valeur numérique trop grande dans une colonne numérique), MySQL prendra en compte "la meilleure valeur possible" plutôt que de sortir une erreur. Pour les valeurs numériques, il s'agit de 0, de la valeur la plus petite possible, ou de la valeur la plus grande possible. Pour les chaînes, il s'agit soit d'une chaîne vide, soit de la chaîne la plus longue que peut contenir la colonne.
  • Toutes les expressions calculées retournent une valeur qui peut être utilisées à la place d'afficher un message d'erreur. Par exemple, 1/0 retourne NULL
La raison des règles précitées est que nous ne pouvons pas vérifier les conditions avant que la requête ne commence à être exécutée. Si nous rencontrons un problème après avoir mis à jour plusieurs lignes, nous ne pouvons plus revenir en arrière puisque la table ne le supporte pas. Nous ne pouvons pas nous arrêter car le travail de mise à jour ne serait fait qu'à moitié, ce qui est sans doute le pire qui puisse arriver. Dans ce cas, il vaut mieux faire du mieux qu'on peut et continuer comme si rien ne s'était passé.Ce qui précède signifie qu'il ne faut pas que le contrôle du contenu des champs soit fait au niveau de MySQL, mais au niveau de l'application.

<< Limitations et inconvénients des choix conceptuels de MySQL >>
Optimisation de MySQL Vue d'ensemble de l'optimisation Portabilité
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -