Bonjour, j'espère que c'est bien le bon endroit pour poster cette demande

Problème : J'ai une sorte de base de données sous forme de fichiers (très nombreux) comportant chacun un grand nombre de ligne. Mon but est de trouver, avec une ligne donnée, le fichier de ma base dans lequel une ligne équivalente est présente. Bien entendu, peu importe la ligne en entrée, pour le moment tous les fichiers de la base sont parsés jusqu'à trouver (ou non) cette fameuse ligne. Résultat, quand je dois trouver 100 lignes il parcours 100 fois ma base de fichiers, ce qui fait non seulement des accès disques à répétition, mais également une perte de temps assez importante, et une utilisation CPU énorme.

Question : Quel serait la meilleur façon de représenter cette base de donnée, afin de minimiser le temps de recherche et les ressources nécessaires, sachant qu'il est impossible à partir de la ligne recherchée de savoir si elle à plus de chance d'être dans tel ou tel fichier de la base.

Merci d'avance à ceux qui répondrons.