Pregunta

Tengo una vista indizada que necesito para especificar la sugerencia NOEXPAND para el fin para que éste realice razonable. Por desgracia, como se ha visto en lo que respecta a la modificación del LINQ a SQL generado consulta T-SQL de la sugerencia NOLOCK parece que no hay manera fácil de tomar ventaja de estos consejos directamente o hay?

Mi pensamiento es que tendría sentido para permitir la personalización de este material mediante el uso de atributos o de forma declarativa a través de la dbml. También desde LINQ a SQL parece que sólo el trabajo de orientación de SQL Server que sólo tiene sentido que también somos capaces de aprovechar estas características avanzadas (si es que existe). Independientemente de la aplicación, aunque estoy interesado en cualesquiera formas creativas de resolver este problema.

¿Fue útil?

Solución

He encontrado una solución que parece el trabajo, sino que requiere hacer una segunda vista para cada vista SQL que uno quiere utilizar la sugerencia NOEXPAND con. En el segundo punto de vista simplemente seleccionar todos los campos de la vista original y la pegajosidad en la sugerencia NOEXPAND. Cualquier consulta LINQ to SQL que tiene que utilizar la sugerencia NOEXPAND puede ahora sólo apuntar que la visión que se envuelve el original.

Más detalles se pueden encontrar en este mensaje MSDN .

Una cosa negativa entre otros a considerar al crear vistas dependientes es que usted tendrá que asegurarse de aplicar los scripts de creación en el orden de dependencia adecuada

¿Alguien tiene mejores alternativas? Preferiría no tener que crear vistas SQL adicionales sólo para el uso de apoyo de esta sugerencia de optimizador necesario.

Otros consejos

Estoy totalmente de acuerdo, pero yo no creo que es un método de este tipo. En EF4 puede utilizar el ExecuteStoreCommand que le permitirá ejecutar SQL directamente. Eso puede ser su única opción si el rendimiento es inaceptable.

== == EDITAR

También puede hacer esto en LINQ a SQL a través del método ExecuteQuery.

http://msdn.microsoft.com/en-us/library /bb399403.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top