This would read rows one by one. `user_ids[start:min(start + batch_size, total)]` should fetch `batch_size` number of row at once. Am I wrong?