Оптимизация работы с SQLite бд при помощи мультипроцессинга/многопоточности Pyton
Есть асинхронный тг бот для взаимодействия с некоторым количеством бд.
Например есть 5 больших SQLite бд. (в самой большой из них порядка 50млн строк).
Есть файл в котором происходит поиск по значению которое пользователь отправил в бота.
Поиск получается довольно долгим, т.к. запрос отправляется на каждую бд по очереди и только после обработки всех бд, форматируется результат и выводится пользователю.
Как я могу оптимизировать работу этого бота? Под каждую бд выделить свой поток? (Не очень понимаю как это должно выглядеть и работать)