Страница 2 из 2

Re: База данных Mysql

Добавлено: 08.05.2010 20:33:53
Vadim
whs писал(а):Есть мысль что нужно использовать LIKE я правильно мыслью?

Можно сделать, например, так:

Код: Выделить всё

SELECT Состав FROM Таблица WHERE INSTR(Состав, 'Медь')>0

А можно и так:

Код: Выделить всё

SELECT Состав FROM Таблица WHERE Состав LIKE '%Медь%'

Re: База данных Mysql

Добавлено: 10.05.2010 11:18:20
AbakAngelSoft
whs писал(а):есть некое поле называется оно Состав в этом поле перечислены через запятую компоненты Медь Цинк Олово

Если вам нужен нормальный поиск то никогда так не делайте!
Нужно вынести элементы состава в отдельную таблицу и связать с основной через промежуточную таблицу ("многие ко многим"). Тогда поиск строк идеющих в составе определенный элемент станет тривиальной задачей.

Re: База данных Mysql

Добавлено: 11.05.2010 18:41:29
whs
AbakAngelSoft писал(а):Если вам нужен нормальный поиск то никогда так не делайте!
Нужно вынести элементы состава в отдельную таблицу и связать с основной через промежуточную таблицу ("многие ко многим"). Тогда поиск строк идеющих в составе определенный элемент станет тривиальной задачей.


Чем грозит мне выше приведенный способ? чем он хуже и почему ваш вариант лучше? Что делать если у меня будет 80000 элементов?