Right now these updates happen very fequently, post-send, spamming the log. The log can be silenced here, but this really isn't the kind of thing that needs to be using something as heavy weight as the core DBs.
I suggest starting to move them to the main stash, e.g., when a user views a page (or presses "mark all read"):
a) A main stash entry updated for the user (reflect recent views and reset-all actions)
b) A job enqueued that will propagate the changes to the DB
...important reads of the wl_notificationtimestamp (per-user) can merge the data from the both on read.
Eventually, the DB use could later be removed, but that's another task...and more complex.