Pdo V20 Extended Features
Example:
$pool = PDO::createPool([
'dsn' => 'mysql:host=db;dbname=app',
'username' => 'user',
'password' => 'pass',
'maxSize' => 50,
'minIdle' => 5,
]);
$handle = $pool->acquire();
$stmt = $handle->prepare('SELECT * FROM users WHERE id = :id');
$stmt->execute([':id' => 1]);
$handle->release();
Example:
$stmt->bindValue(':payload', $jsonString, PDO::PARAM_JSON);
$stmt->bindValue(':price', '12.34', PDO::PARAM_DECIMAL, ['scale'=>2]);
One of the most overlooked performance boosters is the bulk operation feature. Instead of looping and re-preparing statements, you can now batch inserts/updates in one round-trip. pdo v20 extended features
Modern PDO allows retrieving statement-level driver-specific attributes: Pool methods:
if ($stmt->getAttribute(PDO::ATTR_DRIVER_NAME) === 'mysql')
$stmt->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
No more guessing which driver you're on. Example: $pool = PDO::createPool([ 'dsn' =>