Между операторами выборки PDO существует ли различие в производительности?

как в

/* Exercise PDOStatement::fetch styles */
print("PDO::FETCH_ASSOC: ");
print("Return next row as an array indexed by column name\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("\n");

print("PDO::FETCH_BOTH: ");
print("Return next row as an array indexed by both column name and number\n");
$result = $sth->fetch(PDO::FETCH_BOTH);
print_r($result);
print("\n");

print("PDO::FETCH_LAZY: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_LAZY);
print_r($result);
print("\n");

print("PDO::FETCH_OBJ: ");
print("Return next row as an anonymous object with column names as properties\n");
$result = $sth->fetch(PDO::FETCH_OBJ);
print $result->NAME;
print("\n");

Хорошо значение по умолчанию является ВЫБОРКОЙ ОБА, я задаюсь вопросом, быстрее ли ПОМОЩНИК ВЫБОРКИ, когда я собираюсь выбрать много данных; или они - то же?

Спасибо

22
задан j0k 3 September 2012 в 21:11
поделиться

1 ответ

ASSOC, BOTH и OBJ в целом одинаковы, за исключением того, что они возвращают другую структуру. Разницы в производительности нет.

LAZY выполняет своего рода ленивую загрузку. PDO::FETCH_LAZY создает имена объектных переменных по мере обращения к ним. Это означает, что вы получаете штраф за производительность только при обращении к свойствам, а не при вызове fetch(). Это полезно, если вы используете только часть возвращаемых данных.

2
ответ дан 29 November 2019 в 04:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: