Modelo y almacenamiento de datos de actividades
Las tablas de actividades (anteriormente entidades) como correo electrónico, llamada de teléfono y citas se almacenan en la base de datos de Microsoft Dataverse con un modelo de datos más sofisticado en comparación con las tablas estándar, que generalmente se almacenan en una tabla de base de datos. Este artículo lo ayudará a comprender el modelo de datos de actividades y su impacto en la capacidad de almacenamiento. Para obtener más detalles sobre cómo se utilizan las actividades, consulte Tablas de actividades.
Actividades subyacentes a las tablas de la base de datos
Las filas de actividades se guardan en la base de datos de Dataverse en varias tablas subyacentes. Cada tabla de actividades almacena las filas de datos correspondientes en una tabla base (ActivityPointerBase) y una tabla de extensión dedicada a cada tipo de actividad específico (EmailBase, TaskBase, AppointmentBase, etc.).
ActivityPointerBase
Esta tabla es la tabla base para cada actividad en el sistema. La creación de cualquier actividad como un correo electrónico, llamada de teléfono, cita o actividad personalizada creará una fila correspondiente en esta tabla. Debido a que esta tabla contiene una fila para cada actividad, se espera que esta tabla tenga muchas filas.
Esta tabla incluye todas las columnas de actividad predeterminadas, como el asunto, la descripción, el propietario, el estado y muchas más. Para obtener una lista completa de las columnas de esta tabla, consulte activitypointer EntityType. Debido a que cada una de estas columnas se incluye en esta tabla de actividades base y hay una fila para cada actividad, a menudo es uno de los mayores consumidores de capacidad de datos. La columna de descripción es la misma columna que se usa para almacenar el cuerpo del correo electrónico para una actividad de correo electrónico. Debido a que el cuerpo de un correo electrónico puede incluir mucho texto, los correos electrónicos grandes pueden contribuir al crecimiento de la capacidad de datos consumida por esta tabla.
Cuando accede a una vista como Mis actividades o Todas las actividades, los datos se recuperan de la tabla ActivityPointerBase, lo que le permite ver una sola vista de actividades en varios tipos de actividades.
Cualquier actividad en el sistema se puede recuperar usando el nombre de esquema de actividad específico, y también se puede recuperar usando el esquema de puntero de actividad, esta funcionalidad es útil cuando se recuperan múltiples actividades de diferentes tipos de actividad.
ActivityPartyBase
Esta tabla contiene la información de la entidad para cada actividad. Cada entidad de actividad representa a una persona o grupo asociado a una actividad. Ejemplo: suponga que creó una actividad de cita que tiene un organizador, un propietario, dos asistentes obligatorios, un asistente opcional y un objeto relacionado. Habría seis filas correspondientes almacenadas en esta tabla. Otro ejemplo de grupos de actividad son todas las personas en una actividad de correo electrónico en las líneas De, Para y Cc.
Si se elimina una fila como un contacto, las filas de grupos de actividad que hacen referencia al contacto no se eliminan automáticamente. Esto es por diseño para preservar los datos originales del participante. Cuando elimina una fila de actividad, como un correo electrónico, se eliminan todas las filas de grupo de actividad asociadas a esa actividad.
Más información: Tabla ActivityParty y activityparty EntityType.
ActivityMimeAttachment
Esta tabla contiene los datos para relacionar un archivo adjunto con una fila de actividad.
Más información: activitymimeattachment EntityType
EmailSearchBase (uso interno)
Esta tabla se utiliza para la resolución de direcciones de correo electrónico. Es solo para uso interno y contiene filas para cada dirección de correo electrónico en el sistema asociado a una columna con formato de dirección de correo electrónico.
EmailHashBase (uso interno)
Esta tabla se utiliza para la combinación inteligente y contiene hashes generados para cada mensaje de correo electrónico en el sistema.
Más información: Utilice el filtrado y la correlación de mensajes de correo electrónico y Deshabilitar el llenado de tablas de Smart Matching EmailHashBase
Diferencia entre esquema y almacenamiento
Hay una diferencia entre el esquema expuesto para las tablas de actividades individuales y el almacenamiento subyacente. Ejemplo: si se refiere al esquema de entidad de correo electrónico accesible desde SDK, todas las columnas de la tabla estarán disponibles y aparecerán desde diferentes tablas subyacentes (tabla base, tabla de extensión, tabla de actividad). Sin embargo, la mayoría de estas columnas se almacenan en la tabla base (ActivityPointerBase) y solo las columnas personalizadas, si las hay, se almacenarán en la tabla EmailBase.
Preguntas frecuentes
ActivityPointerBase
¿Por qué ActivityPointerBase tiene tantas filas?
Consulte la definición de la tabla base anterior para obtener más detalles. una fila para cada actividad en el sistema.
¿Por qué ActivityPointerBase consume tanto almacenamiento?
Una posible causa es tener muchas filas, lo que contribuye al tamaño general de la tabla. Otra posible causa es la longitud del texto en la columna de descripción. Esta es la misma columna de descripción utilizada para cualquier actividad, como el cuerpo de una actividad de correo electrónico o la descripción de una actividad de cita.
¿Cómo puedo reducir el uso de la tabla ActivityPointerBase?
ActivityPointerBase contiene datos que se guardaron cuando los usuarios crearon filas de actividad, como correos electrónicos, llamadas telefónicas, tareas y citas. A medida que los usuarios creen más actividades, la tabla crecerá. La tabla contiene datos guardados por los usuarios y no contiene datos de uso interno. Puede reducir el espacio utilizado para esta tabla eliminando las actividades antiguas que ya no son necesarias.
ActivityPartyBase
¿Por qué ActivityPartyBase tiene tantas filas?
Hay una fila para cada participación de actividad. Es fácil tener muchas filas en esta tabla, sin embargo, el espacio utilizado por estas filas individuales es mínimo.
Otras preguntas
¿Por qué una tabla de extensión de actividad consume mucho almacenamiento?
Una tabla de extensión amplía la tabla de actividades base (ActivityPointerBase) para una tabla de actividades específica, como Task, y se usa para almacenar los datos de cualquier columna personalizada. La tabla Task almacena datos para los atributos predeterminados dentro de la tabla ActivityPointerBase en la base de datos. Si agrega atributos personalizados a la tabla Task, se guardarán en la tabla TaskBase en la base de datos. Una tabla de extensión tendrá filas solo cuando haya un atributo personalizado definido para la actividad específica. Puede haber casos en los que un campo de texto que contiene mucho texto se defina como un atributo de actividad personalizado y podría causar un alto uso de almacenamiento. Revise los atributos personalizados definidos y el contenido.
¿Dónde se almacena el cuerpo (descripción) de un correo electrónico?
El cuerpo del correo electrónico se almacena en la columna de descripción de la tabla ActivityPointerBase. Este atributo se puede recuperar de ambos esquemas: email y activitypointerbase. Sin embargo, los datos no se duplican. Solo aparece en dos lugares según sea necesario.
Consulte también
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).