¿Es una buena práctica usar serializar en PHP para almacenar datos en la base de datos?

Me encontré con un comentario interesante enphp.net acerca de serializar datos para guardarlos en la base de datos.

Dice lo siguiente:

¡Por favor! ¡Por favor! ¡Por favor! NO serialice los datos y colóquelos en su base de datos. Serialize se puede usar de esa manera, pero le falta el punto de una base de datos relacional y los tipos de datos inherentes a su motor de base de datos. Hacer esto hace que los datos en su base de datos no sean portátiles, difíciles de leer y pueden complicar las consultas. Si quiere que su aplicación sea portátil a otros idiomas, como si supiera que desea usar Java para una parte de su aplicación que tenga sentido utilizar Java en, la serialización se convertirá en un problema para los glúteos. Siempre debe poder consultar y modificar los datos en la base de datos sin utilizar una herramienta intermedia de terceros para manipular los datos que se insertarán.

He encontrado esto demasiadas veces en mi carrera, lo que dificulta el mantenimiento del código, el código con problemas de portabilidad y los datos que son más difíciles de migrar a otros sistemas RDMS, nuevos esquemas, etc. También tiene la desventaja adicional de hacer que resulte complicado buscar en su base de datos en función de uno de los campos que ha serializado.

Eso no quiere decir que serializar () es inútil. No es ... Un buen lugar para usarlo puede ser un archivo de caché que contenga el resultado de una operación intensiva de datos, por ejemplo. Hay un montón de otros ... Simplemente no abuses de serializar porque el siguiente tipo que venga tendrá una pesadilla de mantenimiento o migración.

Me gustaría saber si esta es una vista estándar sobre el uso de datos de serialización para propósitos de base de datos. Es decir, si es una buena práctica usarlo a veces, o si debe evitarse.

Por ejemplo, me ordenaron usar la serialización recientemente.

En este caso, los datos que tuvimos que guardar en una tabla MySQL fueron los siguientes:

Marca de auto.Modelo de auto.Versión del coche.Información del coche

La información del auto era una matriz que representaba todas las propiedades de una versión, por lo que era una gran cantidad variable de propiedades (menos de 100 propiedades). Esta matriz fue la que se va a serializar.

La razón principal por la que me dieron para usar serializar fue la siguiente:

Al ser una gran cantidad de campos, es mejor serializar los datos para mejorar el rendimiento en lugar de crear un campo para cada propiedad o varias tablas.

Personalmente estoy más de acuerdo con el comentario en php.net que con esta última aseveración, pero me gustaría tener aquí opiniones más calificadas que las mías sobre esto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta