Я думаю, что для этого потребуется какая-то форма кеша.Поскольку вы ничего не можете изменить в базе данных, ваш единственный шанс - извлечь данные из них и сохранить их в более доступной и быстрой форме.Это сильно зависит от частоты данных, вставленных в таблицу.Если вставок больше, чем выделений, это вряд ли поможет.В противном случае есть небольшая вероятность повышения производительности.
Возможно, вы можете использовать поисковую систему Lucene, которая способна выполнять полнотекстовую индексацию.Существует реализация из Zend , и даже в Apache есть http служба .Однако у меня нет возможности проверить это.
Если вы не используете что-то такое надежное, вы можете написать свой собственный механизм кэширования в php.Это будет не так быстро, как postgres, но, вероятно, быстрее, чем не проиндексированные LIKE-запросы.Если ваши запросы должны быть более изощренными (условия, группировка, упорядочение ...), вы можете использовать базу данных SQLite, основанную на файлах и не требующую дополнительного обслуживания на сервере.
Другой способ может бытьиспользование триггеров в базе данных, которые могут при вставке хранилища данных требовать информацию в какую-то другую таблицу в более индексированном виде.Но без прав на администрирование базы данных это, вероятно, тупик.
Пожалуйста, будьте более конкретны с вопросом, если вам нужна более конкретная информация.