Общие > Базы данных
Индексация случайного текста и последующее обновление...
Dj Fly:
Ну да, структура таблиц и сейчас именно такая...
Но будет ли это быстро при забивке данными?
Ибо сейчас там немного лежит...
Хм... а каковы его возможности, ентого мегасёрча? :-)
И насколько быстро работает мускуль с такими таблицами?
Особенно если они содержать лимон-другой записей?
Ведь поиск с точки зрения юзера, поиск должен проходить не более пары секунд...
Макс:
что мешает протестировать самому ?
Alexandr:
Dj Fly, а FULLTEXT индекс не устраивает?
Alexandr:
"+" при этом подходе:
- простота использования
- автоматом обновляется
- шаблоны (правда тока в бин моде, и с начала строки)
- ревалентность
"-"
- отсутствие морфологического поиска.
Dj Fly:
Хм.... в подополнение к этой теме...
Работа над системой начата...
Первым этапом был собиральщик адресов определённого сегмента Инета...
Для этого был написан нормальный выдиральщик линков из страниц, который тупо вставляет все собранные линки в базу следующей структуры:
|id int auto_increment | url primary key varchar(255) | lastupdate int(11) |
Поле урл объявлено как ключ для исключения дублирования адресов...
С таблицей этой происходит лишь выборка одного урла, где lastupdate=0 и тут же внос всех найденных линков на этой странице.
Всё тащится отдельными потоками в количестве 30 штук с использованием LOCK TABLES на время выборки урла и до момента помечивания его как уже пройденного - то есть тут же, после получения его ID - ещё не таща саму страницу из инета
Добравшись до 300 000 записей эта таблица начала безбожно тормозить и запрос select count(*) занимает 4-5 секунд.
Есть ли какие-либо способы оптимизировать это действо по скорости??
Навигация
Перейти к полной версии