Pergunta de entrevista da empresa Crossover for Work

You are working on a backend system that retrieves data from a database. The database has two tables: users and posts. Each user can have many posts, and each post belongs to a user. You are notified that the system is experiencing a performance drop in production, and you isolate the issue to the following snippet: async function getUsersWithPostCountAndEarliestPostDate() { const users = await db.query('SELECT u.id AS user_id, u.name AS user_name FROM users'); for (let user of users) { const posts = await db.query('SELECT * FROM posts WHERE user_id = ?', [user.id]); user.post_count = posts.length; user.earliest_post_date = posts.reduce((earliest, post) => post.created_at < earliest ? post.created_at : earliest, Infinity); if (user.earliest_post_date === Infinity) { user.earliest_post_date = null; } } return users; } What type of problem does this code have? How do we fix it?