Bei der Variante bräuchtest du noch ein Extra-Feld des Typs Timestamp "Letzte Aktion". Bei jedem Aufruf der Seite (oder auch jedem zehnten, wenn das genügend sind), resettest du dann alle Online-Flags von Usern, deren letzte Aktion schon länger als x Minuten her ist.
Kannst aber auch gleich eine neue Tabelle nehmen, dann brauchst du nur User ID und Timestamp und löschst die Einträge der Nicht-Aktiven einfach. Kann aber nicht sagen, was performanter ist, das müsstest du ausprobieren, wenn's dir drauf ankommt. Viel Arbeit ist's eh nicht.