Мне было интересно узнать о лучшем быстром поисковом запросе, который используется для получения информации о человеке. В настоящее время у нас есть база данных, в которой есть столбцы для имени, фамилии и приветствия. Пользователю должно быть разрешено искать любую перестановку и комбинацию этих столбцов. Простой поисковый запрос занимает много времени и, следовательно, делает этот быстрый поиск медленным (так как запрос должен проверять все строки для имени, фамилии и приветствия). Не могли бы вы рассказать о различных быстрых или передовых методах, которые могут быть использованы для этой цели.Быстрый поиск имени человека
ответ
1.Вы можете создать индексы для столбца, который, по вашему мнению, будет проводиться большую часть времени. 2.Вы можете объединить имя + фамилию и фамилию и сохранить в представлении (и это представление должно обновляться для каждой вставки имени), а затем запрашивать через это представление, а не запрашивать через базу данных. Вам необходимы надлежащее выполнение запроса plan.Check это один из стратегического решения https://www.simple-talk.com/sql/performance/execution-plan-basics/
Объединение имени и фамилии не дает преимуществ для поиска. –
Вы должны создать индекс на этих 3-х столбцов Firstname, LastName и приветствие так путем создания индекса будет искать быстрое поэтому для точки производительности запроса, который мы создаем index.index, происходят очень быстро. для узнать о ускорить ваш запрос click here
Статья, в которой вы указали, относится к индексированным представлениям. Они не будут более полезными, чем обычные индексы. –
Я думаю Полнотекстовый поиск должен решить вашу проблему (Предположив базы данных является MS SQL Server) Быстрая ссылка для справки http://technet.microsoft.com/en-us/library/ms142571.aspx
Я не мог прокомментировать вопрос, потому что моя репутация низкая
FTS (используя CONTAINS) будет быстрее/эффективнее, чем использование LIKE с подстановочным знаком. FTS включает в себя возможность определять полные текстовые индексы, которые FTS может использовать. LIKE с подстановочным знаком с левой стороны (IE: LIKE '% Search) не может использовать индекс (если он существует для столбца), гарантируя сканирование таблицы. Я не тестировал и сравнивал, но регулярное выражение имеет ту же ошибку. Чтобы уточнить, LIKE '% Search' и LIKE '% Search%' не могут использовать индекс; LIKE 'Search%' может использовать индекс, который я использую в моем запросе. – amair
- 1. Быстрый поиск имени Bluetooth
- 2. Eclipse: быстрый поиск по имени файла
- 3. Поиск лучшего человека в массиве
- 4. «лучший матч» поиск имени человека/ранг с использованием поиска Sphinx
- 5. Magento быстрый поиск вопрос
- 6. Как правильно организовать поиск человека?
- 7. PHP Поиск человека с взрывом
- 8. Быстрый поиск и сортировка
- 9. Быстрый поиск определенного окна в vim на основе имени файла
- 10. Быстрый поиск строки поиска
- 11. Поиск имени и имени
- 12. Как искать LDAP по имени человека?
- 13. SQL-запрос - проверка отсутствия имени человека
- 14. Разделение имени человека на имя и фамилию
- 15. Как найти Личность на основе имени человека
- 16. скрытое текстовое поле для имени человека (C#)
- 17. день рождения парадокс быстрый поиск
- 18. Быстрый поиск списка python?
- 19. RavenDB быстрый поиск подстроки
- 20. быстрый поиск с jquery
- 21. Быстрый текстовый поиск
- 22. Быстрый поиск по отношениям
- 23. Быстрый, масштабируемый поиск строк
- 24. Быстрый поиск. Обработка дубликатов
- 25. Быстрый поиск аналогичного текста
- 26. Сделать быстрый поиск папок
- 27. Быстрый поиск, не токенизация
- 28. Вставка и быстрый поиск
- 29. Быстрый поиск 3D Lut
- 30. Magento Быстрый поиск
Это префиксный поиск или прямое сравнение? – CodingIntrigue
Сколько строк в таблице? Сколько строк в результатах поиска? (Все они или с разбивкой на страницы?) Какова избирательность приветствия? Я полагаю, что некоторые ценности очень распространены, такие как «Г-н», а другие - менее (например, «Доктор»)? –
4601802 строки есть. Да, эти значения являются общими, в этом случае мы показываем топ 200 строк – amair