Есть ячейка users со значениями (1,2,3,4,5,6...). От юзера получаю номер и надо выбрать мэйлы всех у кого этот номер существует в этой ячейки.Помогите составить правильный SQL запрос.
можно при записи добавлять разделитель вначало и конец строки, тогда можно обойтись одним условием.
проблема в том что размер индекса ограничен. соответственно количество "друзей" будет либо очень коротким либо неиндексированным. можно конечно делать full-text search. но тоже не панацея, теряете InnoDB.
вот вам интересное чтиво stackoverflow.com/questions/1381186/fulltext-searc... makandracards.com/makandra/12813-performance-analy...
Да, хранение в базе не очень удобное. Да, можно в столбце добавить для всех записей "," в начале и в конце строки - тогда выборку можно делать одним лайком "%,{$user},%". Я лишь предложил вариант где в базе не надо ничего менять) А так нормализация - наше все :)
@Alhames ну не скажите, денормализация тоже бывает очень кстати и сохраняет много ресурсов, нужно просто правильно использовать, но не в этом случае так точно)