Я использую простой запрос LIKE в mysql вроде этого:
SELECT * FROM myTable WHERE field LIKE 'aaa%' ORDER BY field2
У меня есть полнотекстовый индекс на «поле», и все равно очень медленно. Я так понял есть вариант использовать матч. В чем разница? Как? Что лучше всего подходит для моего использования? Обратите внимание, что я использую "%" для всего, что начинается с "aaa"
ОБНОВЛЕНИЕ:
В итоге я использовал что-то вроде этого:
ВЫБРАТЬ
*, МАТЧ (имя) ПРОТИВ ('a *' В БУЛЕВОМ РЕЖИМЕ) КАК ОЦЕНКА
ОТ
пользователи
ГДЕ
МАТЧ (имя) ПРОТИВ ('a *' В БУЛЕВОМ РЕЖИМЕ)
ORDER BY SCORE, популярность DESC LIMIT 4
Одна вещь, которую я хотел бы изменить, не связана с порядком сначала по SCORE, а затем по моей популярности в поле, а вместо этого упорядочивается простой функцией веса, что-то вроде 0,5 * SCORE + 0,5 * популярность. Как?