|  | 
| 
SQL наиболее эффективный способ создать структуру БД | |||
|---|---|---|---|
| #18+ Всем привет. У меня нет большого опыта в чистом SQL (я андроид-разработчик), возник такой вопрос: Есть таблица Songs и таблица Users. Я хочу считать каждое прослушивание песни от каждого юзера и показывать это количество ему. Где наиболее эффективно будет хранить информацию о количестве прослушиваний? Были такие идеи: 1) Хранить в каждой Song массив вида [{userId, playsCnt}, ...] 2) Хранить в каждом User массив вида [{songId, playsCnt}, ...] 3) Сделать новую таблицу PlaysCnt, в которой хранить массивы вида [{userId, songId, playsCnt}, ...] Какой способ лучше? Или я что-то упускаю, и есть способы ещё лучше? Заранее благодарен за любую помощь. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 01.11.2019, 11:21 |  | ||
| 
SQL наиболее эффективный способ создать структуру БД | |||
|---|---|---|---|
| #18+ hetfieldan24, 3 способ... 4 способ PlaysCnt [{userId, songId, datetimePlay, fullPlay}] но 4 способ даст например интересную статистику = 1) сколько раз слушал 2) когда нравилась песня (в каком году/месяце) 3) время суток когда человек прослушивает эту песню 4) мешали ли человеку (от времени суток) прослушать до конца эту песню 5) и т.д.. и т.п.. (круглый) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 01.11.2019, 11:30 |  | ||
|  | 

| start [/forum/topic.php?fid=32&fpage=4&tid=1539898]: | 0ms | 
| get settings: | 9ms | 
| get forum list: | 12ms | 
| check forum access: | 3ms | 
| check topic access: | 3ms | 
| track hit: | 34ms | 
| get topic data: | 13ms | 
| get forum data: | 2ms | 
| get page messages: | 43ms | 
| get tp. blocked users: | 2ms | 
| others: | 250ms | 
| total: | 371ms | 

| 0 / 0 | 
