Есть у меня мелкая утилитка, которая сохраняет данные в csv. Данных стало слишком много, и искать по ним все сложнее. Поэтому я решил сконвертировать csv в что-то более удобное. Решил попробовать самый простой вариант с точки зрения трудозатрат — EF на SQLite. Быстро написал небольшой алгоритм читающий из csv и пишущий в 3 таблички в SQLite. Запустил, процесс пошел. Но как-то небыстро. Сходил попить чай, и вернувшись обнаружил что скорость упала где-то до 1 записи в секунду. O_o А всего записей несколько миллионов. Поэтому пришлось думать над оптимизацией, а на нее время тратить не хотелось. Первым делом добавил локальный кэш, где это было возможно благодаря особенностям данных. Это увеличило скорость раза в 2-3. Но это ситуацию никак не спасало. Чуть переделал алгоритм, чтобы по минимум использовать объекты EF. То есть по возможности запрашивать примитивные типы (long), вместо всего объекта. Это дало небольшой результат, но кардинально ничего не меняло. Пришлось думать дальше. Запи