Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Поиск в большой таблице(~5млн) (Gvozd) 02/02/2009 - 18:33:20
      Re: Поиск в большой таблице(~5млн) (Gvozd) 05/02/2009 - 19:51:48



From: Gvozd - 02/02/2009 - 18:33:20
Subject:Поиск в большой таблице(~5млн)
-----------------
Хочу сделать систему индексации-поиска по файлам локальной p2p сети(DC)
Ориентировочное количество файлов в базе - 5млн.на вырост планируется до 10млн.

Необходимо сделать возможность поиска по подстрокам внутри имен файлов.
Индекс FULLTEXT не подходит, в связи с его предназначенностью для естественныех языков(он не выдаст строку "Ochen_strashnoe_kino" в ответ на запрос "kino")
Извлечение по типу "LIKE '%kino%'", которое не рекомендуется даже для маленьких таблиц тут также неприемлимо.время запрос а растет пропорционально количеству строк в базе, до тех пор пока оно способно хранить индекс в памяти(~2.5сек на 500к строк).потом наверно будет расти по экспоненте.
была идея насчет разбития текстовых строк на блоки например по 8 символв, вынести в отдельную таблицу, и вести поиск уже по ней посредством "LIKE 'kino%' or LIKE 'ino%'..."
к сожалению скоростью это тоже не отличается.

Если у кого-нибудь есть идеи кроме описанных, как организовать эту базу прежде всего для эффективного поиска(даже путем увеличенного времени помещения данных)?
Работать предполагается в связке PHP-MySQL, но внешние решения также подойдут
буду рад любой помощи, и даже(тем более:)) отсылкам на статьи и мануалы(при условии прямой ссылки, и желательно на русском)


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
34956



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |