Saludos a todos y gracias anticipadas a quien pueda ayudarme.
Tenemos una aplicacion que lanza secuencias con la siguiente estructura:
CREATE TABLE TMPXXX
INSERT INTO TMPXXXX SELECT YYY FROM ZZZ
SELECT AAA FROM TMPXXX, WWWW
La cuestion es que si lo lanza todo seguido, los tiempos son muy buenos.
En algunos casos, se hace una comprobacion de si la tabla temporal que hay
que crear ya existe (de otra secuencia anterior) y, en estos casos, nos
encontramos con que cambia completamente el plan de ejecucion y la
consulta tarda mucho.
Investigando, probamos a poner un GO entre el INSERT y el SELECT y nos
vuelve a dar mal tiempo. Deducimos que al hacer el GO, SQL Server debia
actualizar las estadisticas de la tabla y modificaba el plan de ejecucion.
?Alguien puede decirme si esto tiene sentido? ?Alguna forma para
"eliminar" las estadisticas de la tabla y asi que coja el plan bueno?
Hemos hecho pruebas forzando el plan y se corrige, pero estropeamos otras
casuisticas.
Es SQL Server 2000.
Gracias y un saludo
Leer las respuestas