Змінюй хід війни! Допомагай ЗСУ!
  • Знижка на баннерну рекламу 30%! Банер на всіх сторінках сайту, в мобільній та десктопній версії за 14 тис. грн на місяць. Статистика сайту. Контакт: [email protected]

MySql problem :(

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

"неадекватное поведение" - это как "контреволюционная деятельность" - кому угодно пришить можно.
мне римлянин регулярно его шил в отместку за травлю его попыток лечить 502 гугл-хромом и пиявками.
вот чего нельзя было написать просто "бессвязный текст"? вопрос риторический, потому что ответ всем известен.
 
Михалеч ,вы больны базами данных.Наверное много времени потратили на их изучение, а практическое применение сидит в ставке 0,х десятых. Всякое упоминание о них в вас вызывает раздражение.Это как вроде ничего,если бы в добавок не присутствовал злостный характер мелкого мстителя.
Порой создается такое впечатление,что вы приходите на форум ,отмстить и насладиться.Это как в роде том ,когда правой здорово булы, а в левой кухонный нож, измазанный засохшим крахмалом и волосками ребра иваси.
Характер ваш устойчиво сохранен и не подлежит никакому сомнению.
Пытались дырки сверлить у многих,а за своими открытыми не уследили,как туда вошло .
 
попробую like вскоре отпишу, действует или нет)
 
The real -=LOGAN-= : like даёт полнотекстовый поиск... много накладных расходов.
 
"Рождение быдлокодера" холст, масло, 2011 год
 
"Рождение быдлокодера" холст, масло, 2011 год

подлинный Тыемураз, ранний период творчества.



Михалеч ,вы больны базами данных.Наверное много времени потратили на их изучение, а практическое применение сидит в ставке 0,х десятых. Всякое упоминание о них в вас вызывает раздражение.Это как вроде ничего,если бы в добавок не присутствовал злостный характер мелкого мстителя.
Порой создается такое впечатление,что вы приходите на форум ,отмстить и насладиться.Это как в роде том ,когда правой здорово булы, а в левой кухонный нож, измазанный засохшим крахмалом и волосками ребра иваси.
Характер ваш устойчиво сохранен и не подлежит никакому сомнению.
Пытались дырки сверлить у многих,а за своими открытыми не уследили,как туда вошло .
я не хочу, чтобы вы меня читали, вы мне надоели, меня раздражает ваша аватарка, ваши запятые и ваш никнейм...
мне поGUI, что вы там себе думаете, так же как и вы. я не люблю непрофессионалов, непрофессионалам тут делать нечего.

вы что, хотите, чтоб я сейчас ушел отсюда? я уйду...
но не уйду, потому что уважаю других ваших коллег, а вот вы отсюда уйдёте.
всё, взЯл и ушел отсюда!!

базы данных ему, видите ли... большое количество...
в проектирование и эксплуатацию РСУБД надо приходить подготовленными, а не так как вы: вчера писали паскалем типизированные файлики, а сегодня ORM через заднее крыльцо...
все, до свидания.

да-а-а-свида-а-а-ни-и-и-я. научитесь га-а-ва-а-рить сна-а-ча-а-ла по-русски, да...
 
Останнє редагування:
The real -=LOGAN-= : like даёт полнотекстовый поиск... много накладных расходов.
like сработал =)
А что тогда использовать кроме like?
Какие например расходы?
Я понимаю что идет полнотекстовый поиск, и что лучше было бы все вынести в отдельные смысловые таблицы.
Но если у меня в колонке цвета максимум будут 3-4 слова, разве это будет накладно для сервака?
 
ТС, если есть хоть малейшая вероятность, что цвета будут добавляться или меняться, у тебя должно быть 3 таблицы, а не одна. 1 - цвета, 2 - твоя нынешняя таблица "выборов пользователя", 3 - связи. гугли "связь многие ко многим".

если нет такой вероятности, подумай ещё раз. например, если значения цветов (что у тебя через запятую) используются не только как ключи, но и показываются пользователю - не задумываясь выделяй в отдельную таблицу. потом больше времени потратишь, все переделывая. особенно это весело когда проект уже введен в эксплуатацию. можешь этого не делать, но тогда придется поучиться на своих ошибках, а не на чужих..


так ну а че ж ему не работать. а теперь, если у тебя в запросе условие LIKE '%красный%', попробуй добавить пару записей с цветом "темно-красный" и поискать "красный" ещё раз..
 
ТС, если есть хоть малейшая вероятность, что цвета будут добавляться или меняться, у тебя должно быть 3 таблицы, а не одна. 1 - цвета, 2 - твоя нынешняя таблица "выборов пользователя", 3 - связи. гугли "связь многие ко многим".

это ему пытаются объяснить уже очень давно.

причем, если не надо хранить дополнительные данные о сущностях (цветах и штучках, которым у него соответствует ID), то вооще достаточно одной таблицы Штучка_Цвет (ШтучкаID, ЦветID) с первичным ключем включающим оба поля. все. больше ничего не нужно высасывать из пальца.

но объяснять тут что-то бесполезно.
 
Но все равно же мне тогда придется вторую табличку сравнивать like'ом???
 
тогда вторая табличка просто будет свалкой айдишников и цветов?
 
То есть будет таблица номер 2 такая:
1 колонка ID цвета табл.1
2 колонка цвет
Правильно?
 
То есть будет таблица номер 2 такая:
1 колонка ID цвета табл.1
2 колонка цвет
Правильно?

1-я таблица справочник цветов:
ID Цвет
1 Красный
2 Зеленый
....

2-я таблица та что сейчас
id прочие атрибуты кроме цвета
1 .....
2.....

3-я таблица связь основной таблицы с цветами (один-много)
id-осн(табл 2) id-цвета
1 1
1 2
2 2


пример запроса (возможны варианты) выбирает все записи из основной таблицы где есть зеленый цвет

select * from tab2 t2 where exists (select null from tab3 t3 where t3.id_osn = t2.id and t3.id_color = 2)

пример запроса (возможны варианты) выбирает все записи из основной таблицы где есть зеленый или красный цвет

select * from tab2 t2 where exists (select null from tab3 t3 where t3.id_osn = t2.id and t3.id_color in (1,2))
 
Останнє редагування:
1-я таблица справочник цветов:
ID Цвет
1 Красный
2 Зеленый
....

2-я таблица та что сейчас
id прочие атрибуты кроме цвета
1 .....
2.....

3-я таблица связь основной таблицы с цветами (один-много)
id-осн(табл 2) id-цвета
1 1
1 2
2 2


пример запроса (возможны варианты) выбирает все записи из основной таблицы где есть зеленый цвет

select * from tab2 t2 where exists (select null from tab3 t3 where t3.id_osn = t2.id and t3.id_color = 2)

пример запроса (возможны варианты) выбирает все записи из основной таблицы где есть зеленый или красный цвет

select * from tab2 t2 where exists (select null from tab3 t3 where t3.id_osn = t2.id and t3.id_color in [1,2])

Спасибо сегодня вечером попробую :)
 
А можно и без отдельной таблицы цветов обойтись, если не нужна как некий управляемый справочник, получится просто таблица вида:
Код:
<Пользователь_ID> | <Единственный_Цвет>
  1               | красный
  1               | зеленый
  1               | синий
  2               | красный
  3               | желтый
   ...
Тогда и like нафик не нужен.
Может этого ТС'у будет достаточно?
 
А можно и без отдельной таблицы цветов обойтись, если не нужна как некий управляемый справочник, получится просто таблица вида:
Код:
<Пользователь_ID> | <Единственный_Цвет>
  1               | красный
  1               | зеленый
  1               | синий
  2               | красный
  3               | желтый
   ...
Тогда и like нафик не нужен.
Может этого ТС'у будет достаточно?

ну если ему так будет с четвертого раза понятней...
тока зачем же строки совать во второй столбец? хотя бы ENUM..
 
Здравствуйте .
Правила хорошего тону подсказывают мне,что надо оставить строки благодарности по теме,тому как мои дети научились за 11 минут складывать кубик -рубику, а до этого результат был около 16 минут.
Дай бог, чтобы и ТС научился складывать .
Досвидания, профессионального развития всем кучерявым участникам диспута.
 
Назад
Зверху Знизу