MySql Null Values: Performance and Storage Considérations
L'effet des valeurs null sur les performances et le stockage de MySQL varie considérablement en fonction du moteur de stockage choisi.
moteur myisam:
avec myisam, les valeurs nuls ajoutent des frais généraux. Chaque ligne comprend un Bitfield suivant l'état nul de chaque colonne. Cela signifie que même les colonnes nulles consomment un espace de stockage; Un nombre élevé de NULL ne conduit pas à des économies de stockage significatives.
Innodb Engine:
Innodb gère les nulls différemment, améliorant potentiellement les performances. L'en-tête de ligne de chaque colonne contient un «décalage de démarrage de champ», avec le bit le plus élevé, ce qui signifie si la valeur de la colonne est nul. Si null, la valeur n'est pas stockée, ce qui entraîne des économies d'espace considérables.
Efficacité de stockage:
Les tables InNODB avec de nombreuses valeurs nulles peuvent être plus petites en raison de cette optimisation de stockage. Dans certains cas, cela peut améliorer les performances en augmentant le nombre de lignes par page de données, optimisant potentiellement la gestion du pool de tampons d'InNODB.
Stratégies d'optimisation des performances:
Il est important de se rappeler que l'optimisation des valeurs nulles est généralement considérée comme une micro-optimisation. Les gains de performance sont généralement insignifiants. Prioriser les index bien conçus et la mise en cache suffisante de la base de données apporteront généralement des améliorations de performances beaucoup plus substantielles.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3