Прогнозирующий поиск архитектора по объектам 30-50К?

Я должен создать функциональность поиска, где GUI предоставит поле поиска для поиска объектов в базе данных Oracle. В настоящее время я должен искать объекты по 30 тыс., Но со временем их количество будет расти. 300-400 в месяц ок.

Как часть требования, когда пользователь вводит любой текст в поиске, как, например, "ABC", тогда все объекты в БД, которая содержит ABC, должны отображаться в таблице данных, так как система прогнозирует результаты на основе того, какие пользовательские типы имеют в поле поиска.

Вопрос в том, как спроектировать такую ​​функцию?

Простой способ сделать это - загрузить все в объект Javascript с графическим интерфейсом и запустить поиск по нему. Поскольку JS смехотворно быстр, производительность не будет проблемой.

Другой способ - запускать запрос в базе данных каждый раз, когда пользователь вводит текст в поле поиска. Это не кажется удобным, так как это приведет к ненужной нагрузке на базу данных.

Есть ли лучший способ для создания этой функции? Пожалуйста, поделитесь мыслями.

1 ответ

Решение

Преждевременная оптимизация редко бывает полезна.

Прирост 300-400 объектов в месяц с базовым объектом 30 КБ - это вообще ничто для любой БД.

загрузка всех 30 тыс. объектов одновременно в браузер ужасна и может повлиять на производительность, в то время как запрос результатов в БД не будет иметь этой проблемы, пока у вас не будет МНОГО и МНОГО пользователей, обращающихся к БД.

Вам следует создать сервис с использованием базы данных, а затем, если / когда вы столкнетесь с узким местом, вы можете подумать о приеме оптимизации, таком как кеширование частых запросов к базе данных.

Другие вопросы по тегам