Проблема в том, что поиск с подстановочными символами не может очень эффективно использовать индексы, поэтому у вас проблемы с производительностью.RegEx будет не лучше, на самом деле, вероятно, будет еще хуже.
Я бы предложил установить полнотекстовый индекс в этом поле, если причина, по которой вы используете символы подстановки, состоит в том, чтобы выбрать индивидуальныйслова из текстового поля.Это позволит вам выполнять поиск без подстановочных знаков для отдельных слов.Тем не менее, это не очень поможет, если вы ищете части слов, такие как ваш пример% b%.
Переключение на NoSQL из-за того, что несколько запросов выполняются плохо, кажется чрезмерным излишним, и я сомневаюсь, что этого достаточно, чтобы оправдать его только по этой причине.