PHP · 성능
PDO fetch 제너레이터
DB 결과를 한 번에 모두 가져오지 않고 지연 순회하는 예제입니다.
성능고급pdogeneratordatabase
핵심 설명
DB 결과를 한 번에 모두 가져오지 않고 지연 순회하는 예제입니다.
PHP code
<?php
$pdo = new PDO('sqlite::memory:');
$pdo->exec('CREATE TABLE items (id INTEGER PRIMARY KEY, name TEXT)');
$pdo->exec("INSERT INTO items (name) VALUES ('php'), ('go')");
function rows(PDO $pdo): Generator {
$stmt = $pdo->query('SELECT name FROM items');
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
yield $row;
}
}
foreach (rows($pdo) as $row) {
echo $row['name'] . PHP_EOL;
}학습 팁
성능 예제는 추측보다 측정을 우선해야 하므로 작은 벤치마크를 같이 돌려 보세요.
주의할 점
측정 없이 미세 최적화부터 시작하면 가독성만 잃고 실제 성능 이득은 거의 없을 수 있습니다.
자주 묻는 질문
PDO fetch 제너레이터란 무엇인가요?
DB 결과를 한 번에 모두 가져오지 않고 지연 순회하는 예제입니다.
PDO fetch 제너레이터 학습 시 주의할 점은 무엇인가요?
측정 없이 미세 최적화부터 시작하면 가독성만 잃고 실제 성능 이득은 거의 없을 수 있습니다.
Continue Learning
PHP 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.