Вопрос № 80604: Здравствуйте!
Вопрос практического плана. В базе данных будет одно текстовое поле в котором будет содержатся в среднем 15000 символов текста. Это будут статьи. Если в такой базе соберется примерно 20000 строк, то как будет осуществлятся поиск, я ...
Вопрос № 80.604
Здравствуйте!
Вопрос практического плана. В базе данных будет одно текстовое поле в котором будет содержатся в среднем 15000 символов текста. Это будут статьи. Если в такой базе соберется примерно 20000 строк, то как будет осуществлятся поиск, я имею в виду по времени (оператором LIKE). Конечно можно создать индекс но сколько примерно будет тогда занимать такая база памяти? Что скажите на этот счет? (Использую мускул)
Отправлен: 01.04.2007, 20:58
Вопрос задал: Valeraorg (статус: 5-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Игорь Елизаров
Здравствуйте, Valeraorg!
В данном случае Like наверное не самый лучший выход, может привести к массе побочных эффектов.
наверное более правильным было бы использовать ключевые слова к каждой статье, и, скажем, списое подобных слов хранить в отдельном поле или даже в отдельной таблице.
также наверное было бы неплохо хранить краткое (одно-два предложения) описание статьи.
тогда процесс выборки происходил бы в несколько этапов :
- по ключевому слову на экран выводятся заголовки и краткое содержание статей
- при выборе статьи она отображается целиком
с уважением, Игорь
--------- Пользователь - тоже человек..
Ответ отправил: Игорь Елизаров (статус: 10-ый класс)
Ответ отправлен: 01.04.2007, 21:14
Отвечает: Cimus
Здравствуйте, Valeraorg!
Использование оператора LIKE наверно наихудший вариант в данном случае.
MySQL предлагает в последних версиях базы данных использовать для полнотекстового поиска индексацию FULLTEXT и конструкцию MATCH field AGAINST.
Подробнее вот здесь и здесь --------- трикотаж http://evkrata.ru/
Ответ отправил: Cimus (статус: Студент)
Ответ отправлен: 01.04.2007, 23:24 Оценка за ответ: 5 Комментарий оценки: Спасибо!