I was just looking at the MySql database created by drupal after I installed it. All the tables are in MyISAM. With a complex software like drupal, wouldn't it make more sense to use foreign keys and hence InnoDB tables to enforce referential integrity? Without foreign keys all the constraint checking will happen at the PHP end.
Répondre
MySQL offre une variété de moteurs de base de données pour une raison - différents moteurs offrent différents avantages et inconvénients. InnoDB est un excellent moteur qui offre l'intégrité référentielle ainsi que la sécurité des transactions, mais il est mal optimisé pour le cas d'utilisation du site web où vous avez un ordre de grandeur plus de lectures puis d'écritures. MyISAM offre les meilleures performances pour un site Web où la plupart des hits ont seulement besoin d'un accès en lecture à la base de données. Dans de tels cas, l'intégrité référentielle peut le plus souvent être maintenue en écrivant vos insertions de données et en les supprimant de telle sorte qu'elles ne peuvent pas aboutir si elles compromettent l'intégrité. Par exemple, au lieu d'écrire
DELETE FROM mytable WHERE id = 5
vous pouvez écrire
SUPPRIMER matable DE GAUCHE matable REJOIGNEZ linkedtable SUR mytable.id = linkedtable.ref WHERE id = 5 ET linkedtable .ref IS NULL
Cela ne réussira à supprimer la ligne que s'il n'y a pas de références externes.
- 1. Base de données de conception de téléchargement de données question
- 2. Question sur la conception de la base de données
- 3. document/image Base de données de conception du référentiel Question
- 4. Question de modèle de conception de base de données relationnelle - base de données Massive Read Only
- 5. Question de conception de base de données: Comment gérer une énorme quantité de données dans Oracle?
- 6. Question de conception DAL
- 7. Problème de conception de base de données
- 8. Question efficace sur la base de données mySQL
- 9. Conception de base de données d'inventaire
- 10. Conception de la base de données du moteur de recommandation?
- 11. Question de conception/modélisation de base de données - Contraintes ou pas de contraintes?
- 12. Question de conception de base de données de galerie concernant les autorisations/visibilité
- 13. Décision de conception: ajout dynamique de données question
- 14. WPF/question de conception de la couche de données LINQ
- 15. Galerie question de conception de base de données concernant les utilisateurs sur les photos
- 16. Filetage ASP.NET + question de conception
- 17. Conception de base de données pour les révisions de texte
- 18. Base de données Conception et numéro
- 19. Conception de MySQL Unique Index
- 20. Modélisation de base de données ou conception de base de données: Lequel vient en premier?
- 21. Suivi des impressions de bannières - Conception de base de données
- 22. Instructions de conception de base de données SQL Data Services
- 23. Conception de la base de données de l'école requise
- 24. Master Pages - Question de conception
- 25. formulaires imbriqués (question de conception)
- 26. Base de données MySQL de mots anglais?
- 27. Conseils rapides sur la conception de base de données relationnelle pour MySQL
- 28. Comment supprimer une base de données MySQL?
- 29. Question de requête MySQL
- 30. Conception de base de données: Stocker des données à partir de formulaires papier dans la base de données
On pourrait penser que Drupal voudrait préserver cette intégrité référentielle, mais ils pensaient que la possibilité d'utiliser n'importe quel fournisseur de base de données était plus importante. Pour plus d'informations/discussion, voir http://drupal.org/node/911352 P.S. Je sais que je poste dans un ancien poste, mais je veux aider ceux qui cherchent. –