Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Devo usar instruções preparadas para MySQL no PHP PERFORMANCE-WISE?

A História


Esta foi a minha primeira resposta do Stackoverflow. Muita coisa mudou desde então, especialmente a depreciação e remoção da API mysql. Mesmo se você ainda estiver no php 5.6, a api mysql_* não deve ser usada. Agora PDO ou mysqli são as únicas opções para escolher. O DOP é melhor por muitas razões.

As instruções preparadas são armazenadas em cache nos carregamentos de página?


A mesma instrução preparada não será usada entre carregamentos de página. Tem que ser preparado todas as vezes. Se espremer cada grande milissegundo importa, um procedimento armazenado pode ser uma boa ideia (supondo que você tenha uma consulta complicada).

Para inserções grandes (milhares de linhas) Um impulso maior provavelmente pode ser obtido despejando seus dados em um arquivo de texto e carregando-o com LOAD DATA IN FILE . É muito mais rápido do que uma série de inserções.

A resposta original


A verdade é que às vezes o mysqli é mais rápido e outras vezes o mysql api é mais rápido. Mas a diferença é realmente muito pequena. Se você observar qualquer um dos testes de desempenho na web, a diferença é realmente de apenas 10 a 20 milissegundos. A melhor maneira de aumentar o desempenho é otimizar o design da tabela.

Muitos dos testes que 'provam' que a API mais antiga é mais rápida convenientemente esquecem que, para segurança máxima, mysql_real_escape_string() deve ser chamado para cada variável usada na consulta.

As consultas são armazenadas em cache pelo servidor se e somente se os dados em todas as tabelas usadas na consulta permanecerem inalterados.

Aguarde outra atualização com números reais