powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Создание индекса для БД (MySQL LIKE уже не выдерживает)
3 сообщений из 3, страница 1 из 1
Создание индекса для БД (MySQL LIKE уже не выдерживает)
    #32026846
Здравствуйте, здравствуйте, уважаемые зрители!

Вот такая ПРОБЛЕМА...

Есть БД MySQL (несколько таблиц), есть скрипты на Perl, выполняющие к ней через Perl DBI предустановленные запросы типа SELECT порой с использованием LIKE...

Так вот... некоторые таблицы так разрослись (как по числу записей, так и по размерам каждой из них, например, одна из записей весит больше 1 Мб), что MySQL с запросами типа LIKE к ним порой уже не справляется: выдает число найденных записей, но не их сами, а в error_log при этом пишется, что, дескать, у сервака (а он у меня виртуальный), не хватает памяти для обработки таких запросов, а народ всё валит и валит, а сервак всё скрипит и скрипит, а хостеры всё шипят и шипят...

В общем, пришёл я к мысли, что неплохо было бы индексом обзавестись. Только вот не знаю, каким. MySQL-ным? Но будет ли при этом поиск по словоформам? - Похоже нет (кое-что на эту тему читал в форуме), то есть если чел ввёл слово "человек", то "люди" он уже не найдет.

Слыхал и про другое решение типа универсального индекса с использованием морфомодуля без использования LIKE, но какой морфомодуль выбрать, и как его присобачить? Как вообще всё это делается? Остаётся только представлять... в фантазиях

Оченно прошу знающих людей объяснить на пальцах, как сие сотворить, и с Божьей помощью в путь...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Создание индекса для БД (MySQL LIKE уже не выдерживает)
    #32218928
xt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xt
Гость
Есть такая штука как WHERE MATCH(...) AGAINST (...) - попробуйте. Но надо делать полнотекстовый индекс (который у меня не получилось сделать более 255 символов) и в некоторых случаях эта система не очень хорошо работает (если найдено менее трех результатов вообще ничего не выдаёт!!!).
http://www.mysql.com/doc/en/Fulltext_Search.html

Обещают в новой версии MySQL сделать много улучшений в том числе словоформы. Но когда это будет... Алтернативы есть, но я пока не разобрался.

Посмотрите
http://swish-e.org/
http://www.aspseek.org/

Если что получится - пишите сюда.
...
Рейтинг: 0 / 0
Создание индекса для БД (MySQL LIKE уже не выдерживает)
    #32220095
xt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xt
Гость
На счет трех результатов я нещадно нагнал. :) \r
\r
Возможно немного прояснит вот это /topic/33320\r
\r
или http://www.mysql.com/doc/en/Fulltext_Search.html
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Создание индекса для БД (MySQL LIKE уже не выдерживает)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]