投げるSQLが一つ減ると思うんだけど。
処理としてはこんな感じ?

User.transaction do
user = User.find(user_id)
user.bookmark_last_no = user.bookmark_last_no + 1
user.save!
bookmark = Bookmark.new(params[:bookmark])
bookmark.no = user.bookmark_last_no
bookmark.save!
end