Я думаю, что, вероятно, важно спросить Почему вы используете XML для хранения записей 300 КБ? . Поскольку XML - не самый эффективный формат для манипулирования данными.
Если вы застряли с XML, то вам лучше всего прочитать XML-файл в какую-то базу данных (вам может не хватить таблицы в памяти, но с другой стороны вам может не хватить памяти). Я думаю, что если вы используете объект TXMLDocument для загрузки XML-файла, у вас возникнет серьезная проблема с производительностью или не хватит памяти (у меня возникли проблемы, когда я некоторое время назад играл с 250-килограммовым файлом xml-файла).
Возможно, вы сможете использовать MSXML DOM напрямую (вы можете импортировать библиотеку типов) или использовать SAX, что позволит вам последовательно анализировать ее, с которой у меня не было большого опыта.