que tiene la siguiente tablavista indizada vs Índices en la Tabla
EVENT_LOG
:
EVENT_ID: pk, int, not null
TYPEID: fk, int, not null
CATEGORYID: fk, int, null
SOURCE: varchar(255), null
DESCRIPTION: varchar(4000), null
CREATED: datetime, null
Hemos sido la creación de un informe, y se encontró que el rendimiento chupa. No hay ningún índice aparte del agrupado. Podríamos crearlos, pero debido a que esta tabla está escrita en más de lo que se lee, existe una preocupación por el rendimiento del pesaje. Para los informes, me inclino a poner índices en cada columna porque las columnas de la fuente & deben buscarse en las subcadenas.
Nos preguntamos si una indexed view (vista materializada AKA) sería una opción, donde la vista indexada contendría todas las columnas de la tabla EVENT_LOG
pero tiene los índices apropiados creados en la vista. ¿Esto nos daría el rendimiento para informar, mientras no impacta las escrituras en la tabla EVENT_LOG
?
supongo que estaría mejor con una copia de la tabla de producción a efectos de notificación, algo así como una copia replicada, que desea llenar con los cambios de las operaciones diarias decir una vez por la noche, y luego se puede tener cualquier número de índices para acelerar los informes. –
También puede mejorar el rendimiento de búsqueda de subcadenas al indexar las columnas de texto al revés también. – Matthew