В одном из моих таблиц MySQL, я следующие столбцы:Улучшение поиска производительности
Skills varchar(80)
Industry varchar(40)
Address varchar(100)
Навыки могут включать текст, как: C/C++, MS Office, Linux т.д. промышленность может включают текст, такой как: Финансы, IT и т. д. Адрес содержит полный почтовый адрес и название города. Нет отдельной колонки города.
На моей веб-странице У меня есть поля поиска, в которых пользователь может вводить ключевые слова для каждого столбца. Я использую SQL-запрос, как указано ниже:
Select studentname where skills like '%...%';
Я хочу улучшить результаты поиска, а также производительность. Например, пользователь мог ввести такой навык, как Linex вместо Linux. Итак, мой поиск должен вернуть ок. совпадение.
Пожалуйста, дайте мне знать, как я могу сделать поиск более точным и увеличить производительность. В настоящее время я определил индекс на skills
, address
и industry
столбцов. Но производительность не очень хорошо.
Настольный двигатель InnoDB.
редактировать
Проблема заключается в том, что мы получаем предварительно заполненные листы MS Excel из различных учреждений. Приложение .NET читает значения столбцов листа Excel и сохраняет их в удаленной базе данных. Для разбиения таблиц нам нужно изменить наше приложение.