Are there any best practices for optimizing PHP scripts that handle large data sets from databases?

When handling large data sets from databases in PHP scripts, it is important to optimize the code for better performance. Some best practices include using efficient SQL queries, limiting the amount of data fetched at once, using indexes on database columns, and caching data where possible.

// Example code snippet for optimizing PHP script handling large data sets from databases

// Connect to the database
$pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");

// Use efficient SQL queries with indexes
$stmt = $pdo->prepare("SELECT * FROM mytable WHERE column = :value");
$stmt->bindParam(':value', $value);
$stmt->execute();

// Limit the amount of data fetched at once
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    // Process each row
}

// Cache data where possible
// Example caching with Memcached
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
$data = $memcached->get('my_data');
if (!$data) {
    // Fetch data from the database
    $data = fetchDataFromDatabase();
    $memcached->set('my_data', $data, 3600); // Cache for 1 hour
}

// Function to fetch data from the database
function fetchDataFromDatabase() {
    // Database query
    return $data;
}