sql >> Base de Datos >  >> RDS >> Mysql

consulta de selección mysql dentro de una matriz serializada

Como dice GWW en los comentarios, si necesita consultar las cosas de esta manera, realmente debería considerar almacenar estos datos como algo más que una gran cadena ole (que es lo que es su matriz serializada).

Si eso no es posible (o simplemente es perezoso), puede usar el hecho de que la matriz serializada es solo una gran cadena ole y descubrir una cláusula LIKE para encontrar registros coincidentes. La forma en que PHP serializa los datos es bastante fácil de entender (pista:esos números indican la longitud de las cosas).

Ahora, si su matriz serializada es bastante compleja, esto se descompondrá rápidamente. Pero si se trata de una matriz plana, debería poder hacerlo.

Por supuesto, usará LIKE '%...%', por lo que no obtendrá ayuda de ningún índice y el rendimiento será muy bajo.

Es por eso que la gente sugiere que almacene esos datos de manera normalizada, si necesita consultar "dentro".