почему код ниже в php (oci) быстрее, чем c ++ (occi)?Для 50k строк php выполнить скрипт за 30 секунд.Программа выполняется через 5 минут!
/* php - oci code */
$s = oci_parse($c, 'select "client" from test');
oci_execute($s, OCI_DEFAULT);
while ($row = oci_fetch_array($s, OCI_ASSOC+OCI_RETURN_NULLS))
{
$i++;
if ($i%1000 == 0) echo $i.' '.$row['client'].PHP_EOL;
}
/* c++ occi code */
string q("select client from test");
ora_stmt = ora_conn->createStatement (q);
ora_stmt->setPrefetchRowCount(1000); // THIS IS AN ANSWER
ResultSet *rset = ora_stmt->executeQuery();
while (rset->next ())
{
i++;
if (i%1000 == 0) cout << i << endl;
}
Есть ли способ улучшить ситуацию?
Мой ответ:
ora_stmt->setPrefetchRowCount(1000);