11<?xml version =" 1.0" encoding =" utf-8" ?>
2- <!-- EN-Revision: 968c2bc60de3e93d7f38be0b9d2d1b9685a16ea7 Maintainer: leonardolara Status: ready -->
3- <chapter xml : id = " mysqlinfo.concepts " xmlns =" http://docbook.org/ns/docbook" xmlns : xlink =" http://www.w3.org/1999/xlink" >
2+ <!-- EN-Revision: 7cff4d34f0324c9de72d15957e1b62e20f37dfaf Maintainer: leonardolara Status: ready -->
3+ <chapter xmlns =" http://docbook.org/ns/docbook" xmlns : xlink =" http://www.w3.org/1999/xlink" xml : id = " mysqlinfo.concepts " >
44 <title >Conceitos</title >
5- <para >
5+ <simpara >
66 Esses conceitos são específicos dos drivers MySQL para PHP.
7- </para >
7+ </simpara >
88
99 <section xml : id =" mysqlinfo.concepts.buffering" >
1010 <title >Consultas com buffer e sem buffer</title >
1111
12- <para >
12+ <simpara >
1313 As consultas usam o modo de buffer por padrão. Isso significa que os resultados da consulta são
1414 imediatamente transferidos do servidor MySQL para o PHP e então mantidos na memória
1515 do processo PHP. Isso permite operações adicionais, como contar o
2020 conjunto de resultados sejam desativadas ou o conjunto de resultados seja explicitamente liberado, o que acontecerá
2121 automaticamente durante o término da solicitação, o mais tardar. A terminologia "armazenar resultado" também é usada
2222 para o modo buffer, pois todo o conjunto de resultados é armazenado de uma só vez.
23- </para >
23+ </simpara >
2424
2525 <note >
26- <para >
26+ <simpara >
2727 Ao usar a libmysqlclient como biblioteca, o limite de memória do PHP não contará a memória usada
2828 para conjuntos de resultados, a menos que os dados sejam buscados em variáveis PHP. Com o mysqlnd
2929 a memória contabilizada incluirá o conjunto completo de resultados.
30- </para >
30+ </simpara >
3131 </note >
3232
33- <para >
33+ <simpara >
3434 Consultas MySQL sem buffer executam a consulta e aguardam
3535 que os dados do servidor MySQL sejam buscados. Isso usa menos memória
3636 do lado do PHP, mas pode aumentar a carga no servidor. A menos que o conjunto completo de resultados tenha sido
3737 obtido do servidor, nenhuma consulta adicional poderá ser enviada pela mesma conexão. Consultas
3838 sem buffer também podem ser chamadas de "resultado de uso". Depois que todas as linhas do conjunto de resultados
3939 forem buscadas, o conjunto de resultados desaparecerá e não poderá ser iterado novamente.
40- </para >
40+ </simpara >
4141
42- <para >
42+ <simpara >
4343 Seguindo essas características, consultas sem buffer devem ser utilizadas apenas
4444 quando se espera um grande conjunto de resultados que será processado sequencialmente.
4545 As consultas sem buffer contêm uma série de armadilhas que tornam mais
4646 difícil seu uso, por exemplo, o número de linhas no conjunto de resultados é desconhecido
4747 até que a última linha seja obtida.
4848 Consultas em buffer são a maneira mais fácil e flexível de processar conjuntos de resultados.
49- </para >
49+ </simpara >
5050
5151 <!-- @TODO
5252 - Add list of issues people run into with unbuffered queries
5555 - Show "free_result" functions / unset usage with buffered queries 8double-check with Andrey on mysqlnd optimizations
5656 -->
5757
58- <para >
58+ <simpara >
5959 Como as consultas em buffer são o padrão, os exemplos abaixo demonstrarão como
6060 executar consultas sem buffer com cada API.
61- </para >
61+ </simpara >
6262
6363 <example >
6464 <title >Exemplo de consulta sem buffer: mysqli</title >
@@ -97,23 +97,23 @@ foreach ($unbufferedResult as $row) {
9797 <section xml : id =" mysqlinfo.concepts.charset" >
9898 <title >Conjuntos de caracteres</title >
9999
100- <para >
100+ <simpara >
101101 Idealmente, um conjunto de caracteres adequado será definido no nível do servidor, e isso é descrito
102102 na seção <link xlink : href =" &url.mysql.charsets.config; " >Configuração do conjunto de caracteres</link >
103103 do manual do servidor MySQL. Alternativamente, cada API MySQL oferece um método para definir
104104 o conjunto de caracteres em tempo de execução.
105- </para >
105+ </simpara >
106106
107107 <caution >
108108 <title >O conjunto de caracteres e escape de caracteres</title >
109- <para >
109+ <simpara >
110110 O conjunto de caracteres deve ser entendido e definido, pois afeta todas as
111111 ações e inclui implicações de segurança. Por exemplo, o mecanismo de escape
112112 (por exemplo, <function >mysqli_real_escape_string</function > para mysqli e <methodname >PDO::quote</methodname > para PDO_MySQL) irá aderir a
113113 esta configuração. É importante perceber que essas funções não usarão o conjunto
114114 de caracteres definido com uma consulta, portanto, por exemplo, o seguinte não terá efeito
115115 sobre elas:
116- </para >
116+ </simpara >
117117 </caution >
118118
119119 <example >
@@ -140,18 +140,18 @@ $mysqli->set_charset('UTF-8');
140140 </programlisting >
141141 </example >
142142
143- <para >
143+ <simpara >
144144 Abaixo estão exemplos que demonstram como alterar adequadamente o conjunto de caracteres em tempo de execução
145145 usando cada API.
146- </para >
146+ </simpara >
147147
148148 <note >
149149 <title >Possível confusão UTF-8</title >
150- <para >
150+ <simpara >
151151 Como os nomes dos conjuntos de caracteres no MySQL não contêm hífens, a string
152152 "utf8" é válida no MySQL para definir o conjunto de caracteres como UTF-8 (codificação Unicode UTF-8 de até 3 bytes). A string
153153 "UTF-8" não é válida, pois o uso de "UTF-8" não alterará o conjunto de caracteres e gerará um erro.
154- </para >
154+ </simpara >
155155 </note >
156156
157157 <example >
0 commit comments