И вот тут вопрос хранить эти 1/0 в отдельных полях таблицы или создать одно поле индекс и писать поиск через LIKE "1 _ _ _ 1". Насколько будет быстр данный поиск, "%" не используются, фиксир.величина по идее должна облегчать задачу.
Кароч кто с подобным сталкивался?
Спустя 5 минут, 27 секунд (3.09.2009 - 12:47) Gabriel написал(а):
а че если писать поиск через лайк хранить биты буш в воздухе?
Спустя 8 минут, 46 секунд (3.09.2009 - 12:56) sergeiss написал(а):
Я бы сделал отдельные логические поля для каждого предпочтения. Потом проще будет делать выборку, безо всяких ухищрений, просто и понятно.
Спустя 7 минут, 50 секунд (3.09.2009 - 13:04) RAMM13 написал(а):
Цитата (Gabriel @ 3.09.2009 - 09:47) |
а че если писать поиск через лайк хранить биты буш в воздухе? |
дык одно поле-индекс и будет хранить эти собрания 0 и 1
Спустя 3 минуты, 25 секунд (3.09.2009 - 13:07) RAMM13 написал(а):
Цитата (sergeiss @ 3.09.2009 - 09:56) |
Я бы сделал отдельные логические поля для каждого предпочтения. Потом проще будет делать выборку, безо всяких ухищрений, просто и понятно. |
с выборкой нет проблем. хочешь рок - по одному полю запрос LIKE '1_ _ _ _'. "_" это же одно знакоместо. если я допустим запрашиваю LIKE '_ _ _ 11', то еханизм SQL не отбрасывает сразу 3 первых символа в индексе, как прошедших проверку с последующей проверкой уже 4ого и 5ого?
Спустя 2 минуты, 21 секунда (3.09.2009 - 13:10) waldicom написал(а):
Я бы сделал с тремя таблицами...
Спустя 4 минуты, 59 секунд (3.09.2009 - 13:15) RAMM13 написал(а):
Цитата (waldicom @ 3.09.2009 - 10:10) |
Я бы сделал с тремя таблицами... |
а три то зачем? задача такая. предпочтений может быть и 20 и 30 штук. жанров в музыке много. или делать таблицу в 30 полей и каждое поле индекс или таблу с 1 полем CHAR(30) с индексом
Спустя 56 минут, 14 секунд (3.09.2009 - 14:11) waldicom написал(а):
Одн таблица - пользователи (user), другая - жанры(genre), в третьей два поля: userID, genreID
И тогда все равно ,сколько жанров или предпочтений
И тогда все равно ,сколько жанров или предпочтений