У меня около 500 ГБ данных в одной таблице MySQL, которая содержит около 5 миллиардов записей. Он имеет около 15 столбцов. Он имеет индекс по всем необходимым столбцам. Когда я делаю select * from big_table where index_column = some_value
, требуется несколько минут, чтобы вернуть данные. Нет никаких объединений, а также у меня нет требования полнотекстового поиска здесь.
Я видел, что некоторые команды использовали lucene (или упругий поиск) для решения проблемы с производительностью, которая возвращает записи через пару секунд.
Насколько я понимаю, в настоящее время lucene (Elastic search) в основном используется для полнотекстового поиска, но здесь похоже, что они могут творить чудеса даже
для простого поиска в случае больших данных.
Мой вопрос заключается в том, как индекс / поиск в lucene работает лучше, чем индекс / поиск в БД, для поиска простых функций поиска?