Quand je fais une requête, je me demande souvent à ce sujet:gestion sur le terrain MySQL
Est-il préférable d'ajouter le champ supplémentaire (s) à la table, ou tout simplement obtenir les valeurs et calculer dans votre serveur côté langue? Par exemple, la table Student contient le champ Student.score. Je veux obtenir les notes. Puis-je obtenir le score et faire un tas de si/else/passer les notes?
Est-ce que je gaspille espace en ajoutant un champ juste pour stocker quelque chose qui dépend d'un autre domaine ?
Le premier est ennuyeux à faire chaque fois que vous avez besoin des qualités. Ce dernier me fait peur quand je pense à l'utilisation de l'espace. Si j'ai moins de 10 000 enregistrements, j'ai déjà gaspillé 10 000 champs!
Quelle est la méthode la plus efficace, compte tenu des tables non triviales et de la taille de base de données moyenne à grande?
Si c'est important, utilisons PHP comme langage côté serveur.
Où est +1 Intéressant quand vous en avez besoin? Eh bien, pourquoi seriez-vous plus enclin à faire un traitement plus coûteux dans la base de données si la base de données est plus volumineuse et plus active? – eyelidlessness
Je connais au moins un exemple auquel je peux penser du haut de ma tête. J'ai une situation dans une application où j'ai besoin d'informations collectées, traitées et organisées rassemblées à partir d'au moins 5 tables. Plutôt que d'avoir plus de 200 lignes de code, pourquoi ne pas en faire un simple appel de procédure? –
Performance? Je veux dire, je ne conteste pas ce que vous dites, j'essaie de comprendre le raisonnement derrière le fait de laisser DB soulever des charges lourdes dans des situations où la DB fait déjà des gros travaux. – eyelidlessness