Показать сообщение отдельно
  #4 (permalink)  
Старый 04.02.2009, 04:53
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Тема в принципе исчерпана.
мои страхи по поводу времени оказались не такими уж оправданными
примерное время поиска по запросу типа "LIKE '%query%'" на тестовой базе оказалось равно ~3секундам.
НО!
проведенные тесты показали, что мускул за это время полностью последовательно читал базу данных.
таким образом в момент действия запроса проц грузился на абсолютные 100%, а скорость чтения с диска была порядка 100-120МБ в секунду.
решение работает, но не является удовлетворительным, ибо не расчитана на дальнейший адекватный вырост, ни тем более на мягкую работу с оборудованием

Буду продолжать эксперименты с формированием индексов.
скорее всего будет эффективно решение с вынесение в отдельную таблицу всех(а не только смысловых) подслов размером например 4(придется проветсти эксперименты при других длинах), думаю это будет быстрее всего при средней длине имени файла 17(именна такая средняя длина на моей выборке)

Скорее всего индексная таблица будет весить до буя, но для поиска по ней не нужно будет ее всю считывать с диска, что ускорит процесс.
Если кому-то кроме меня будет интересен результат, могу потом опубликовать.
Ориентировочное время на предвыборку думаю будет меньше 0.5 секунды.
время на обработку выборки не более секунды.
максимум 2.5 секунды на все.
при этом время будет расти медленее, при росте базы.

Последний раз редактировалось Gvozd, 04.02.2009 в 05:17.
Ответить с цитированием