¿Cuál es el método de base de datos más eficiente para agregar y consultar usermeta?

2

¿Cuál es la forma más eficiente, en relación con la base de datos, de agregar y consultar campos de usuario adicionales a un perfil?

Necesito agregar cuatro campos adicionales de datos numéricos y de texto a un perfil de usuario y luego consultar para compilar los datos para mostrarlos en una plantilla. Y hay potencialmente miles de usuarios.

Hay muchos ejemplos para almacenar los datos en usermeta. Pero, ¿debería esta cantidad de datos almacenarse en la tabla de usuarios?

¿O debería almacenarlo todo en una nueva tabla de base de datos? Y si es así, ¿cómo inicializo una nueva tabla y luego le escribo?

    
pregunta markratledge 09.08.2011 - 20:39

2 respuestas

3
  

Hay muchos ejemplos para almacenar los datos en usermeta. Pero debería   ¿Esta cantidad de datos se almacenará en la tabla de usuarios?

No veo ninguna razón por la que no debas usar la tabla de metadatos de usuario predeterminada, ya que es para lo que sirve, independientemente de la cantidad de usuarios / campos.

La función meta del usuario, como get user meta usa get_metadata con el objeto $meta_type establecido para el usuario. enlace

Si desea jugar con nuevas tablas, puede usar la clase $wpdb y crear una nueva, esta publicación explica cómo, enlace .

También hay un complemento llamado Pods CMS que permite la creación de tablas de base de datos personalizadas para los tipos de contenido, pero a menos que tenga una razón específica para hacerlo, solo use las tablas meta de usuario integradas.

    
respondido por el Wyck 09.08.2011 - 21:40
2

Tengo un sitio web (bueno, un cliente mío lo tiene) que tiene un poco más de 5000 usuarios y por cada usuario almacenamos 9 campos de meta diferentes (filas) en la tabla de usermeta y realmente no puedo ver ningún problema con eso , agregaré que 6 de estos metacampos son en realidad matrices de datos que contienen de 4 a 13 valores diferentes (Integer, String y Boolean), por lo que en la mayoría de los casos solo hacemos una llamada get_user_meta() para todos los valores necesarios de esa página. y los otros 3 campos son campos que necesitamos consultar para que no puedan estar en una matriz.

Entonces, en general, cada usuario tiene 80-96 campos personalizados que se almacenan en 9 filas.

Ahora, después de que se diga que usar una tabla personalizada será más rápido (simple hecho), pero ¿vale la pena?

    
respondido por el Bainternet 09.08.2011 - 22:23

Lea otras preguntas en las etiquetas