De combien de façons d'énormes données peuvent être optimisées dans le server de table sql

On m'a demandé dans l'interview s'il y avait une table avec 300000000 données et 300 champs alors quand les gens searchnt des données dans cette table la performance sera lente. Alors, quelles sont les étapes que vous souhaitez suivre pour optimiser la table et searchr des données.

Je viens de dire mettre beaucoup d'index sur ces champs qui sont souvent utilisés dans la clause de search. mais la personne qui a posé cette question, il était l'exception d'avoir beaucoup de solution pour gérer cette situation.

ici beaucoup de gens d'expérience traversent ce forum. donc je m'attends à plusieurs façons de gérer cette situation. alors s'il vous plait, guidez moi en détails toutes les mesures possibles à suivre. Merci

En un coup d'oeil je considérerais:

  • partion des données
  • archiver les anciennes données
  • briser la table dans des tables connexes
  • get un meilleur matériel
  • réécrire les requêtes pour être performant
  • en utilisant la search en text intégral
  • et bien sûr l'indexing.

Bien sûr, il existe de nombreuses autres façons d'améliorer les performances. Et beaucoup d'entre eux sont spécifiques à des situations spécifiques. C'est quelque chose qui est couvert dans des livres très épais et pas quelque chose qui peut vraiment être répondu sur Internet.

300 colonnes ressemble beaucoup à une table. Peut-être que datatables devraient être normalisées en plusieurs tables. Prenez note – la normalisation peut causer des problèmes de performance, en particulier en raison des grandes jointures SQL, donc la normalisation parfaite n'est pas toujours la meilleure solution non plus.

Enfin, une fois que vous avez trouvé une solution possible ou deux, j'appelle l'interviewer avec vos résultats et je request s'il y avait une autre solution que vous avez manquée.