"будет, но только под себя"
А если серьёзно - то твоя проблема в том, что ты для ряда из таблицы hash не сможешь быстро получить соответствующий ему ряд из таблицы sample. Т.к. в sample у тебя всего две колонки mediumint, то я предлагаю не париться с хешами, сделать UNIQUE(basic2_b1_id, basic2_b2_id) и в таблице hash заменить искусственный и, на мой взгляд, совершенно ненужный sample_hash_2 на sample_id. Тогда, делая выборку по hash_id из таблицы hash, ты сразу получаешь sample_id. И, наоборот, имея sample_id - делаешь выборку из hash и получаешь нужные hash_id.
Также непонятно, зачем sample_hash_2 присутствует в таблице navtable, если таблица hash осуществляет отображение many-to-many.