Я новичок в php и mysql. Теперь я сталкиваюсь с проблемой: мне нужны данные поиска в большой базе данных, но для поиска слова требуется более 3 минут, иногда время ожидания браузера. Я использую метод FULLTEXT для поиска, поэтому любое решение для уменьшения времени поиска?Медленный поиск по php
ответ
Создайте индекс для поля таблицы, который вы предпочтете впоследствии, даже если потребуется какой-то объемный запрос, он должен вернуть наилучшие результаты за меньшее время.
Это не ответ на ваш вопрос прямо, но это предложение:
У меня была такая же проблема с полнотекстового поиска, поэтому я перешел на ГУМЗ:
http://lucene.apache.org/solr/
Это поисковый сервер на основе на библиотеке Lucene, написанной на Java. Он используется некоторыми из самых масштабных сайтов:
http://wiki.apache.org/solr/PublicServers
Так скорость и масштабируемость не является проблемой. Однако вам не нужно знать Java для ее реализации. Он предлагает интерфейс REST, который вы можете запросить и даже дает возможность возвращать результаты поиска в формате массива PHP.
Вот официальный учебник:
https://builds.apache.org/job/Solr-trunk/javadoc/doc-files/tutorial.html
SOLR просматривает индексированные файлы, так что вам нужно, чтобы получить ваше содержимое базы данных в XML или JSON файлы. Вы можете использовать расширение импорта данных обработчика для этого:
http://wiki.apache.org/solr/DataImportHandler
Для запроса интерфейса REST вы можете просто использовать get_file_contents()
функции PHP или скручивание. Или PHP SDK для ГУМЗА:
Зависит от того, насколько велика ваша базы данных. Добавление индекса для поля, которое вы ищете, - первое, что нужно сделать.
У меня была та же проблема, и добавление индекса для поля отлично работало.
- 1. Медленный поиск по местоположению
- 2. медленный поиск в массиве PHP
- 3. Титановый поиск по индексированному ключу невероятно медленный?
- 4. Android: нужна консультация по SQLite, поиск медленный
- 5. Медленный поиск PHP в базе данных
- 6. Поиск CoreData слишком медленный
- 7. Поиск изображений медленный
- 8. Поиск Lucene неприлично медленный
- 9. медленный полнотекстовый поиск в MySQL
- 10. PDO PHP Mysql медленный по конкретному запросу
- 11. Поиск по PHP Mysql
- 12. Поиск по mysql php
- 13. поиск по массиву PHP
- 14. Поиск по php-адресу
- 15. RavenDb: поиск в тексте медленный
- 16. Android SQLite очень медленный поиск
- 17. Простой поиск словаря медленный .Net по сравнению с плоским массивом
- 18. Поиск пользователя по фамилии PHP
- 19. PHP - Строка поиск по шаблону
- 20. PHP Поиск по CSV-файлу
- 21. php поиск по первой букве
- 22. PHP поиск по ключевым словам
- 23. php, mysql поиск по сайту
- 24. Поиск по PHP и MySQL
- 25. Медленный сайт php (cake php)
- 26. php, поиск по-китайски и по-русски
- 27. Поиск Magento медленный после 1.9.3 Обновление
- 28. Эластичный поиск: Шина: импорт данных слишком медленный
- 29. php foreach очень медленный
- 30. медленный процесс php
Какова общая база данных? Что говорит 'EXPLAIN [sql statement]' say? –
Вы хотите включить * некоторые * детали, по крайней мере: что такое схема/индексы для таблицы (-ов), с которой вы запрашиваете, и каков фактический запрос, который вы используете? –
вы можете попробовать 'select requiredFields From tableName, где поле типа '% inputText%'' –