На каком оборудовании это работает? Полсекунды это очень много, даже для крутящегося жёсткого диска.
Я на Go работал с sqlite, правда без прослоек, таких задержек не было.
Я бы предложил сократить задачу до конкретного примера в несколько десятков строк без лишних библиотек и на него уже смотреть. А так рассуждать абстрактно можно много.