Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   MySQL хитрая выборка, возможно? (https://javascript.ru/forum/offtopic/12097-mysql-khitraya-vyborka-vozmozhno.html)

greatilya 30.09.2010 12:01

MySQL хитрая выборка, возможно?
 
Имеется очень большая таблица, сотни тысяч/миллионы записей, сотни МБ информации. Это каталог по деталям. У каждой детали есть код вида: "55435/ABC1234", либо "54 RUDL edj/135", "43-45.6654 БОЛТ" и т.д. Вобщем произвольная строка символов.

Сейчас реализован поиск по коду методом LIKE %искомый код%

Необходимо сделать поиск также по коду, но чтобы можно было игнорировать некоторые символы (например: точка, пробел, тире).
Допустим вбили мы в поиск "34567a", а должна найтись строка с кодом "12.3.4-56 7abc". Но в то же время если мы вбиваем "3.4-56 7a" чтобы данная строка тоже находилась.

Первое что приходит в голову, создать дополнительное поле, которое будет содержать эти коды, с вырезанными "специальными символами". И осуществлять поиск по нему.

А другого какого-нибудь хитрого способа тут не существует? Можно ли это сделать иначе, не создавая большой нагрузки на сервер?

Gozar 30.09.2010 14:17

в муське есть regexp, однако нагрузка. Обычно подобные таблицы оптимизируют, что и является хитрым способом.

greatilya 30.09.2010 15:00

Gozar,
Спасибо, не знал что есть regexp, пригодится для формирования дополнительного поля. Думаю остановиться на том варианте что написал выше.


Часовой пояс GMT +3, время: 22:11.