как в
/* 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");
Хорошо значение по умолчанию является ВЫБОРКОЙ ОБА, я задаюсь вопросом, быстрее ли ПОМОЩНИК ВЫБОРКИ, когда я собираюсь выбрать много данных; или они - то же?
Спасибо
ASSOC, BOTH и OBJ в целом одинаковы, за исключением того, что они возвращают другую структуру. Разницы в производительности нет.
LAZY выполняет своего рода ленивую загрузку. PDO::FETCH_LAZY создает имена объектных переменных по мере обращения к ним. Это означает, что вы получаете штраф за производительность только при обращении к свойствам, а не при вызове fetch(). Это полезно, если вы используете только часть возвращаемых данных.