Maison > base de données > tutoriel mysql > le corps du texte

L'indexation entière est-elle plus rapide que l'indexation DateTime pour les grands ensembles de données ?

Susan Sarandon
Libérer: 2024-11-02 11:36:02
original
781 Les gens l'ont consulté

 Is Integer Indexing Faster Than DateTime Indexing for Large Datasets?

Comparaison d'index MySQL : entier et DateTime

Alors que les discussions précédentes ont comparé les types de champs Timestamp et DateTime sans indexation, cette enquête se concentre spécifiquement sur les performances de DateTime avec index par rapport à int avec index dans les tables InnoDB avec des millions d'enregistrements.

Dans ces scénarios, requêtes avec des critères basés sur :

  1. DateTime avec index : Utilisez l'index sur la colonne DateTime.
  2. int avec index : Exploitez l'index sur la représentation entière (horodatage UNIX) de la valeur DateTime.

Évaluation empirique

Les tests initiaux utilisant MySQL 5.1.41 et 10 millions d'enregistrements démontrent un avantage de vitesse remarquable pour int :

Query DateTime with Index (sec) int with Index (sec)
COUNT(*) 120.27 25.02
BETWEEN 8.41 1.56

Explication

L'efficacité de int est attribuée au fait que l'index peut être directement comparé aux critères de requête, éliminant ainsi le besoin pour MySQL d'analyser et de convertir les dates. En revanche, DateTime nécessite un traitement supplémentaire pour extraire et comparer les composants de date et d'heure.

Considérations supplémentaires

Des tests ultérieurs avec les deux types de champs stockés dans la même table ont donné des résultats similaires. performances, suggérant que MySQL peut optimiser les requêtes en reconnaissant l'équivalence des valeurs DateTime et int.

Conclusion

Sur la base de ces résultats, il est recommandé de stocker les dates et les heures comme int (horodatage UNIX) si les performances des requêtes basées sur l'index sont primordiales. Cette optimisation peut réduire considérablement le temps d'exécution des requêtes, en particulier dans les grandes bases de données avec des critères fréquents basés sur la date.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!