Я хотел бы написать запрос для поиска в таблице, содержащей миллионы записей, значения, которое полностью и наилучшим образом соответствует строке поиска или ее подстроке только с самого начала. Производительность имеет наибольшее значение.
Это как обратная сторона:
SELECT * FROM table_name WHERE column_name LIKE '$input%' LIMIT 1
В качестве примера, я хотел бы найти в таблице ниже foobar . Если foobar не существует, найдите fooba до последнего символа f и верните строку с полным совпадением.
+------------------+
| column_name |
+------------------+
| foobar |
+------------------+
| fooba |
+------------------+
| foob |
+------------------+
| foo |
+------------------+
| fo |
+------------------+
| foobarrrrr |
+------------------+
| foooooooooooo |
+------------------+
| barfoo |
+------------------+