Цитата:
Сообщение от Saruman
А если серьёзно - то твоя проблема в том, что ты для ряда из таблицы hash не сможешь быстро получить соответствующий ему ряд из таблицы sample.
|
Мдя.. что-то я вчера недодумал про чтение. По-моему я вообще это прочитать не смогу так как декодировать хэш будет сложновато.
. Но вопрос сформулирован точно.
sample_hash_2 присутствует по непонятной мне причине
Програма сама тянет все индексы из пред. таблицы. и фиг ей объяснишь что они там не нужны
Цитата:
Сообщение от Saruman
сделать UNIQUE(basic2_b1_id, basic2_b2_id) и в таблице hash заменить искусственный и, на мой взгляд, совершенно ненужный sample_hash_2 на sample_id. ...
|
sample_id полностью заменяет basic2_b1_id, basic2_b2_id, это поле увеличивается по мере (auto incr.), уникально для всей таблицы sample.
Если делать так то получится настоящий 1:n. На одно значение hash много sample, но тогда очень сложно писать, так как я хочу проверять есть ли уже такое в базе. То есть имея 15шт. sample_id мне нужно найти им hash_id если такой уже есть. Причем этот же hash_id не должен соответствовать допустим 20ти sample_id.
В случае с хэшем всем sample соответствует только 1 hash. Но тогда не прочитать
. Из плюсов так же что сколько бы sample у меня не было значений в sample им соответствует на 32 числа.
То есть получается ситуация когда я могу сделать так, чтобы было удобно писать, было удобно читать, но не то и другое.
В идеале тогда получается что таблица hsh должна выглядеть так для одного hash_id:
table hash
hash_id : sample_id: sample_hash (md5(sample_1.sample_2... sample_n).)
3 : 01 : 677878345767
3 : 06 : 677878345767
3 : 92 : 677878345767
3 : 01 : 677878345767
3 : 01 : 677878345767
тогда при чтении я ищу по hash_id(или по sample_hash), а когда читаю ищу hash_id по sample_hash. Очень похоже не то что ты предложил.