Optimisation MySQL : indexation entier vs date-heure pour les performances
L'efficacité des requêtes est cruciale pour les bases de données à grande échelle. Lors de l'indexation des données de date et d'heure dans MySQL, le choix entre un champ Integer ("INT") et un champ DateTime se présente.
Considérations sur les performances
Concernant les performances, les tests initiaux avec 10 millions d'enregistrements dans une table InnoDB révèlent un avantage significatif pour l'indexation INT lorsque les critères sont basés sur des plages de dates. Les requêtes de comptage, même avec une large plage, démontrent un temps d'exécution plus rapide avec INT.
Résultats des tests
Requêtes de comptage :
SQL_NO_CACHE COUNT(*) FROM `tbl_int` (INT): 25.02 sec SQL_NO_CACHE COUNT(*) FROM `tbl_dt` (DateTime): 2 min 10.27 sec
Requêtes de plage :
SQL_NO_CACHE COUNT(*) FROM `tbl_int` (INT): 1.56 sec SQL_NO_CACHE COUNT(*) FROM `tbl_dt` (DateTime): 8.41 sec
Observations
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!