É uma boa prática usar serializar em PHP para armazenar dados no banco de dados?

Me deparei com um comentário interessante emphp.net sobre serializar dados para salvá-los no banco de dados.

Diz o seguinte:

Por favor! por favor! por favor! NÃO serialize dados e coloque-os em seu banco de dados. Serialize pode ser usado dessa maneira, mas falta o ponto de um banco de dados relacional e os tipos de dados inerentes ao seu mecanismo de banco de dados. Isso torna os dados em seu banco de dados não portáteis, difíceis de ler e podem complicar as consultas. Se você quiser que seu aplicativo seja portável para outras linguagens, digamos que você ache que deseja usar o Java em alguma parte do seu aplicativo que faça sentido usar o Java em, a serialização se tornará uma dor nas nádegas. Você deve sempre poder consultar e modificar dados no banco de dados sem usar uma ferramenta intermediária de terceiros para manipular os dados a serem inseridos.

Eu encontrei isso muitas vezes na minha carreira, isso dificulta a manutenção de código, código com problemas de portabilidade e dados que é mais difícil migrar para outros sistemas RDMS, novo esquema, etc. Ele também tem a desvantagem adicional de fazer bagunça para pesquisar seu banco de dados com base em um dos campos que você serializou.

Isso não quer dizer que serialize () é inútil. Não é ... Um bom lugar para usá-lo pode ser um arquivo de cache que contém o resultado de uma operação intensiva de dados, por exemplo. Há toneladas de outros ... Apenas não abuse da serialização porque o próximo cara que aparecer terá um pesadelo de manutenção ou migração.

Eu gostaria de saber se esta é uma visão padrão sobre o uso de dados de serialização para propósitos de DB. Significa se é uma boa prática usá-lo às vezes ou se deve ser evitado.

Por exemplo, fui instruído a usar serializar-me recentemente.

Neste caso, os dados que tivemos que salvar em uma tabela MySQL foram os seguintes:

Marca de carro.Modelo de carro.Versão do carro.Informação do carro

Car info era uma matriz representando todas as propriedades de uma versão, portanto, era uma grande quantidade variável de propriedades (menos de 100 propriedades). Este array foi o único a ser serializado.

A principal razão que me foi dada para usar serializar foi o seguinte:

Sendo um grande número de campos, é melhor serializar os dados para melhorar o desempenho, em vez de criar um campo para cada propriedade ou várias tabelas.

Pessoalmente concordo mais com o comentário no php.net do que com esta última assertiva, mas gostaria de ter mais opiniões qualificadas do que as minhas sobre isso.

questionAnswers(1)

yourAnswerToTheQuestion