In what ways can a PHP developer optimize database usage when storing user activity data for a forum?

One way a PHP developer can optimize database usage when storing user activity data for a forum is by batch inserting multiple records at once instead of inserting them one by one. This reduces the number of database queries and improves performance.

// Sample code for batch inserting user activity data into the database

// Assuming $userActivityData is an array of user activity data to be inserted
$userActivityData = [
    ['user_id' => 1, 'activity' => 'posted a new thread'],
    ['user_id' => 2, 'activity' => 'commented on a thread'],
    ['user_id' => 1, 'activity' => 'liked a post'],
    // Add more user activity data as needed
];

// Prepare the query
$query = "INSERT INTO user_activity (user_id, activity) VALUES ";
$values = [];
$placeholders = [];

// Build the values and placeholders arrays
foreach ($userActivityData as $data) {
    $values = array_merge($values, array_values($data));
    $placeholders[] = '(' . implode(',', array_fill(0, count($data), '?')) . ')';
}

$query .= implode(',', $placeholders);

// Execute the batch insert query
$stmt = $pdo->prepare($query);
$stmt->execute($values);