Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Костыль для ошибки проектирования
 
 автор: neadekvat   (23.09.2010 в 14:43)   письмо автору
 
 

Доброго всем времени суток.

Есть таблица:
prog_id | name | names

prog_id - id программы в базе;
name - название программы;
names - fail, синонимы названия через запятую.

Возможно, при проектировании не учитывалось, что будет производиться поиск по синонимам, но теперь такая необходимость возникла. При поиске можно выбрать только точное название.
Т.е. для name запрос выглядит "... WHERE name = '$query%'", для names же такое, очевидно, не пройдет.

Хотел бы увидеть мнение форумчан по возможному методу решения задачи. Или, возможно, рационально (т.е. без больший нагрузок, например, регулярными или тупым перебором всех записей) решить задачу нельзя?

  Ответить  
 
 автор: Trianon   (23.09.2010 в 14:54)   письмо автору
 
   для: neadekvat   (23.09.2010 в 14:43)
 

>names - fail, синонимы названия через запятую.

>Возможно, при проектировании не учитывалось,

а исправить? Нет?

  Ответить  
 
 автор: neadekvat   (23.09.2010 в 15:01)   письмо автору
 
   для: Trianon   (23.09.2010 в 14:54)
 

Неа, не вариант, уже спрашивал.
Там слишком много всего завязано на этой конкретной структуре. Я всех объемов даже представить не могу. Ковырнешь - и все развалиться может. Да и кто мне даст там ковырять-то..

  Ответить  
 
 автор: Trianon   (23.09.2010 в 15:06)   письмо автору
 
   для: neadekvat   (23.09.2010 в 15:01)
 

как обычно ...
Что тут можно посоветовать кроме FIND_IN_SET() ?

об индексах можно забыть.

  Ответить  
 
 автор: neadekvat   (23.09.2010 в 15:10)   письмо автору
 
   для: Trianon   (23.09.2010 в 15:06)
 

> об индексах можно забыть.
Если данный вариант сильно нагрузит базу, то можно будет забыть о поиске по этому полю - однако попробовать стоит.
Спасибо за совет.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования