En ce qui concerne les performances de l’application Laravel, le problème numéro 1 que j’ai rencontré est de loin la base de données. Structure de la base de données, requêtes Eloquent/SQL et configuration – elles peuvent toutes causer de nombreux problèmes, donc dans cet article, j’ai essayé de compiler “le guide ultime” de ce que vous devez savoir.
De quoi on va parler :
- Structure de la base de données
- Colonnes d’indexation
- Erreurs éloquentes les plus typiques
- Eloquent vs Query Builder vs RAW Requêtes
- Mise en cache
- Configuration MySQL
- Autres moteurs de base de données ou NoSQL
Alors, préparez-vous à une longue lecture, avec beaucoup de liens connexes. Allons-y!
Tout d’abord : structure de la base de données
Avant même de regarder Laravel, ou même du code PHP, nous devons jeter un coup d’œil à la structure de notre base de données. Laravel est juste une couche qui exécuterait des requêtes SQL sur la structure que nous avions créée et qui serait difficile à changer.
Ainsi, lors de la planification de votre base de données, vous devez vous assurer que la structure elle-même est optimisée. Le problème est qu’il n’y a pas de façon unique de construire “la meilleure” structure. Bien sûr, il serait bon de suivre les formulaires de normalisation de la base de données, mais le vrai scénario dépend des opérations que vous auriez.
Voici quelques questions potentielles à considérer :
- Quels tableaux/colonnes seraient les plus interrogés ? (candidat pour séparer les données en tables “principales” et “secondaires”)
- Allez-vous filtrer par colonne X ou y stocker simplement des données ? (candidat pour les colonnes JSON)
- Quelle est la probabilité que vous deviez ajouter X tableaux/colonnes similaires à l’avenir ? (candidat pour les relations polymorphes)
- Aurez-vous plus d’opérations d’insertion ou de sélection ? (candidat pour la base de données NoSQL)
Et vous savez ce que la plupart des développeurs ne font pas ?
Ils ne parlent pas assez aux gars BUSINESS qui sont responsables de la logique métier de l’application. Les propriétaires de projet doivent prédire ce qui peut arriver à l’avenir, et leurs paroles doivent guider les décisions techniques relatives à la structure de la base de données. Pas l’inverse.
J’ai un cours séparé complet de 2 heures intitulé Comment structurer des bases de données dans Laravel, mais laissez-moi vous donner un exemple.
LA QUESTION : Appartient À ou Appartient À Plusieurs ?
C’est une de ces questions “à un million de dollars” qu’on ne pose pas assez souvent…