How can PHP session management be optimized to handle multiple user accounts efficiently?

When handling multiple user accounts in PHP session management, it is important to optimize the storage and retrieval of session data efficiently. One way to achieve this is by using a database to store session data instead of relying on the default file-based storage. By storing session data in a database, it allows for faster access and retrieval of session information for each user account.

// Set up database connection
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "session_db";

// Create database table for sessions
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "CREATE TABLE sessions (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    session_id VARCHAR(255) NOT NULL,
    data TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";
$conn->query($sql);

// Set session handler to use database for storage
ini_set('session.save_handler', 'user');
ini_set('session.save_path', 'mysql:host=localhost;dbname=session_db');
session_start();