Создайте пользовательскую таблицу, и пусть user_id
будет целочисленным внешним ключом для этой пользовательской таблицы. Затем создайте индекс в поле user_id
, чтобы обеспечить быстрый поиск.
Короче говоря:
status_updates:
--------------------------------------
| status_id | user_id | status |
--------------------------------------
| 1 | 1 | Woot! |
--------------------------------------
| 2 | 1 | Yeah! |
--------------------------------------
| 3 | 2 | Hello! |
--------------------------------------
users:
--------------------------
| user_id | username |
--------------------------
| 1 | 'Joe' |
--------------------------
| 2 | 'John' |
--------------------------
Затем, чтобы получить, вы должны сделать это:
select
u.username,
s.status
from
status_updates s
inner join users u on
s.user_id = u.user_id
where
u.username = 'John'
Это восстановит:
-------------------------
| username | status |
-------------------------
| John | Hello! |
-------------------------
Делай с этим, что хочешь. Это будет очень эффективно для миллионов строк, если вы правильно построите свои индексы. Какие СУБД вы используете, так что я могу указать вам правильное место для этого?