Com conexões persistentes:
- Você não pode construir o processamento de transações com eficiência
- sessões de usuário impossíveis na mesma conexão
- aplicativos não são escaláveis. Com o tempo, pode ser necessário estendê-lo e isso exigirá gerenciamento/rastreamento de conexões persistentes
- se o script, por qualquer motivo, não puder liberar o bloqueio na tabela, qualquer script a seguir será bloqueado indefinidamente e deve-se reiniciar o servidor db. Usando transações, o bloco de transação também passará para o próximo script (usando a mesma conexão) se a execução do script terminar antes que o bloco de transação seja concluído, etc.
Conexões persistentes não trazem nada que você possa fazer com conexões não persistentes.
Então, por que usá-las, afinal?
A única razão possível é o desempenho, para usá-las quando houver sobrecarga de criar um link para seu SQL Server é alto. E isso depende de muitos fatores como:
- tipo de banco de dados
- se o servidor MySQl está na mesma máquina e, se não, até onde? pode estar fora de sua rede local/domínio?
- quanto sobrecarregado por outros processos a máquina na qual o MySQL está
Sempre se pode substituir conexões persistentes por conexões não persistentes. Pode alterar o desempenho do script, mas não seu comportamento!
O RDMS comercial pode ser licenciado pelo número de conexões abertas simultâneas e aqui as conexões persistentes podem servir mal