es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Esquema de tabla SQL para IdentityServer4 PersistedGrantStore: CREATE TABLE PersistedGrants ( Key VARCHAR(200) NOT NULL, Type VARCHAR(50) NOT NULL, SubjectId VARCHAR(200), SessionId VARCHAR(100), ClientId VARCHAR(200) NOT NULL, Description TEXT, CreationTime DATETIME NOT NULL, Expiration DATETIME, Consumed DATETIME, Data TEXT NOT NULL, CONSTRAINT PK_PersistedGrants PRIMARY KEY (Key) ); CREATE INDEX IX_PersistedGrants_SubjectId_ClientId_Type ON PersistedGrants (SubjectId, ClientId, Type); CREATE INDEX IX_PersistedGrants_Expiration ON PersistedGrants (Expiration);

Estoy escribiendo un PersistedGrantStore para IdentityServer 4 y quiero persistir en una tabla en SQL server.

PersistedGrant tiene una clave de tipo “string”, no es una gran elección pero usaré la collation binaria para compensar. “nvarchar(max)” para una clave primaria no es viable siempre y cuando desempeñe el papel de DBA.

¿Alguien podría indicarnos qué longitud debería tener este campo y todos los demás campos de tipo string?

  • Key
  • Type
  • SubjectId
  • SessionId
  • ClientId
  • Description
  • Data

También sería genial saber de antemano si deberíamos agregar índices para alguno de los campos que terminan con Id.

Tags:  

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en IdentityServer4, puedo sugerir lo siguiente para la tabla persistedgrant:

    • Para la clave, dado que es una cadena de texto, usar una colación binaria es una buena opción. La longitud recomendada para las claves de cadena es de hasta 200 caracteres.
    • Para los demás campos de cadena de texto, se recomienda una longitud de hasta 500 caracteres. Esto debería ser suficiente para la mayoría de escenarios, pero puedes ajustar la longitud según tus necesidades específicas.
    • En cuanto a la adición de índices, generalmente se recomienda agregar índices para los campos que se consultarán con frecuencia, especialmente si son claves externas. En este caso, sería una buena idea agregar índices para los campos que terminan con “Id” (por ejemplo, SubjectId, SessionId y ClientId) para mejorar el rendimiento de las consultas.

    En general, es importante tener en cuenta las limitaciones de tamaño del servidor SQL (por ejemplo, tamaño máximo de fila) y elegir tipos y longitudes de datos apropiadas en consecuencia.

Comments are closed.