20.000 Zeilen sind nicht viel.
Beispielsweise dauert eine mit Perl auf die Datei UnicodeData.txt aufgesetzte Volltextsuche mit Text::Query ungefär 200ms je nach System (gesamte Antwortzeit der Suche über eine Webanwendung).
Die Datei: UnicodeData.txt hat aktuell eine Größe von 1.4 MB und 25.000 Zeilen als CSV. Das Unicode-Konsortium publiziert diese Datei.
--Dag