J'utilise cette requête SQL pour créer un index:Comment et quand mettre à jour un index MySQL?
$query = "CREATE INDEX id_index2
ON countries(geoname_id, name)";
Comment puis-je mettre à jour l'index lorsque de nouvelles entrées sont ajoutées?
Dois-je exécuter un script PHP avec la requête de mise à jour dans CRON et l'exécuter tous les soirs?
Est-ce la meilleure pratique pour la mise à jour automatique d'index?
mais quand mon site devient plus grand, et qu'il devient "laggy", comment puis-je faire? mises à jour automatisées réactives et mise à jour manuellement? supprimer l'index, puis en créer un nouveau? –
Attendez jusqu'à ce qu'il soit démontré (mesurable) un problème. Ce ne sera probablement pas un problème. Si vous êtes inquiet, gardez un œil sur si vous utilisez le moteur de stockage le plus performant et essayez de minimiser le code spécifique au SGBD dans votre application afin qu'il soit facile de passer à un SGBD alternatif si cela s'avère nécessaire. Reconstruire des index à partir de zéro sera beaucoup plus lent que de les conserver en utilisation normale - ne pensez même pas à supprimer l'index et à en créer un nouveau sauf in extremis. –
Les pays ne changent pas très souvent, en moyenne. Si vous avez beaucoup de valeurs "geoname_id" et que vous déterminez le pays dans lequel elles se trouvent, vous pourriez avoir plus de trafic. Cependant, à moins de savoir que l'indexation MySQL est pire que le SGBD moyen (ce dont je doute), ne vous inquiétez pas, laissez MySQL faire son travail. –