What's the difference between $user login and access? I'm migrating users and I came across the $user object.

What's the difference between the login and access field? Does access get updated with every page request?
The access field is updated in Drupal's session write handler _drupal_session_write. This means it is potentially updated at every page request. If you look at the source code, you'll see that the access field is, by default, only updated every 180 seconds. This interval can be changed by setting the session_write_interval Drupal variable.

// Likewise, do not update access time more than once per 180 seconds.
if ($user-&gt;uid &amp;&amp; REQUEST_TIME - $user-&gt;access &gt; variable_get('session_write_interval', 180)) {
  db_update('users')
    -&gt;fields(array(
    'access' =&gt; REQUEST_TIME,
  ))
    -&gt;condition('uid', $user-&gt;uid)
    -&gt;execute();
}