Files
php-doc-ru/reference/oci8/functions/oci-set-prefetch-lob.xml
2022-06-30 09:10:21 +03:00

133 lines
4.7 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 35dc939fd104d82146846224bf171b048a47b64b Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.oci-set-prefetch-lob">
<refnamediv>
<refname>oci_set_prefetch_lob</refname>
<refpurpose>Устанавливает объём данных, предварительно выбираемых для каждого CLOB или BLOB</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>oci_set_prefetch_lob</methodname>
<methodparam><type>resource</type><parameter>statement</parameter></methodparam>
<methodparam><type>int</type><parameter>prefetch_lob_size</parameter></methodparam>
</methodsynopsis>
<para>
Устанавливает размер внутреннего буфера, используемого для выборки каждого значения CLOB или BLOB,
когда реализация получает внутренний локатор LOB Oracle из базы данных после успешного вызова
запроса к функции <function>oci_execute</function> и для каждого последующего внутреннего запроса выборки в базу данных.
Увеличение этого значения может улучшить производительность выборки меньших LOB за счёт сокращения круговых обходов между PHP
и базой данных. Использование памяти изменится.
</para>
<para>
Значение влияет на большие объекты, возвращаемые как экземпляры OCILob, а также на те,
которые возвращаются с использованием <constant>OCI_RETURN_LOBS</constant>.
</para>
<para>
Функция <function>oci_set_prefetch_lob</function> вызывается до вызова <function>oci_execute</function>.
Если функция не была вызвана, используется значение <link linkend="ini.oci8.prefetch-lob-size">oci8.prefetch_lob_size</link>.
</para>
<para>
Значение предварительной выборки LOB следует устанавливать только в Oracle Database 12.2 или новее.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>statement</parameter></term>
<listitem>
&oci.arg.statement.id;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>prefetch_lob_size</parameter></term>
<listitem>
<para>
Число байтов каждого LOB, которое нужно предварительно выбрать, &gt;= 0.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Изменение значения предварительной выборки LOB для запроса</title>
<programlisting role="php">
<![CDATA[
<?php
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
$stid = oci_parse($conn, 'SELECT myclob FROM mytable');
oci_set_prefetch_lob($stid, 100000); // Установка значения перед вызовом oci_execute()
oci_execute($stid);
echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS+OCI_RETURN_LOBS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
oci_free_statement($stid);
oci_close($conn);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>
INI-опция <link linkend="ini.oci8.prefetch-lob-size">oci8.prefetch_lob_size</link>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->