О безопасности:
Вы сами достаточно хорошо описываете риск угона. Более важным является вопрос о том, насколько вероятно это произойдет и насколько чувствителен ваш сайт / данные.
Теперь, если кто-то перехватит компьютер зарегистрированного пользователя, который не уничтожил сеанс (выйдет из системы), как бы вы это определили? И почему / как идентификатор сеанса должен измениться и оставаться действительным?
Вероятно, было бы лучше проверить личность вызывающего абонента, открыв файл cookie, проверив ip (при повторном входе в ip change), ...
О производительности:
В общем случае запрос текстового файла должен занимать намного больше времени, чем запрос к базе данных, поскольку текстовый файл почти всегда запрос файловой системы / хранилища, тогда как запрос к базе данных часто будет в памяти (кэширован).
Думайте о своей базе данных как о другой программе, работающей в фоновом режиме - она в основном мгновенно доступна, если она работает на том же сервере.
-> Поправь меня, если я ошибаюсь ...