docs sur Création de vos tables de base de données dit:
Une autre option consiste à utiliser l'option Init_Command pour MySQLDB avant de créer vos tables: P>
DATABASE_OPTIONS = { "init_command": "SET storage_engine=INNODB", }
4 Réponses :
Les autorisations et les réglages typiques sont basés sur l'arborescence. Vos paramètres de la session seront un pointeur sur les paramètres par défaut un niveau supérieur à la vôtre. Les paramètres de session vont être déjà créés et référencez simplement les paramètres par défaut lorsque vous vous connectez d'abord. p>
Lorsque vous modifiez un paramètre, par exemple en définissant la valeur Storage_Engine, vous créez une nouvelle copie de tous les paramètres et changeant une valeur (comme dans Apache) ou en ajoutant un autre calque à l'arborese qu'il doit vérifier. dans la résolution des valeurs. Je ne suis pas vraiment sûr que One MySQL utilise, mais de toute façon, si vous n'avez pas besoin de ce réglage, vous ne devez pas la définir à chaque aller-retour. p>
Si vous en avez besoin relativement fréquemment, cela pourrait valoir la performance. Un problème similaire se produit dans PHP. Vous ne souhaitez pas modifier les variables comme le PHP incluent le chemin de votre code PHP, qui a ajouté une tonne de frais généraux. P>
jacob p>
Si vous avez d'autres options, par exemple: p>
base de données_OPTIONS = { "Init_Command": "Set Storage_Engine = Innodb, Wait_Timeout = 30, Time_Zone = ...", } p>
alors il ne fait pas de mal de quitter le jeu de moteurs de stockage par défaut. P>
Syntaxe a changé à partir de Django 1.2
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '', 'USER': '', 'PASSWORD': '', 'OPTIONS': { "init_command": "SET storage_engine=INNODB", } } }
Suppression de cette option pour rendre les choses efficaces - vous n'avez pas besoin de définir le moteur de stockage à chaque connexion à la base de données, uniquement lorsque vous créez des tables (c'est-à-dire Syncdb, Sud). P>