Duda con sp_executesql
Publicado por anonimo (53 intervenciones) el 08/02/2008 17:48:04
Buenos dias foristas
he aqui mi duda
he leido q una de las ventaja de sp_executesql es "guarda " el plan d consultas y permite usarla en las siguientes consultas
pero
si las condiciones en el where aumentan
¿esto obligaria al SQL a crear un nuevo plan de ejecucion?
DECLARE @sql1 nvarchar(4000),
@sql2 nvarchar(4000),
@state char(2)
SELECT @state = 'CA'
SELECT @sql1 = N'SELECT COUNT(*)'
SELECT @sql2 = N'FROM authors WHERE state = @state'
EXEC('EXEC sp_executesql N''' + @sql1 + @sql2 + ''',
N''@state char(2)'',
@state = ''' + @state + '''')
-----------------------
DECLARE @sql1 nvarchar(4000),
@sql2 nvarchar(4000),
@sql3_mas_where_opcional nvarchar(4000),
@state char(2)
SELECT @state = 'CA'
SELECT @sql1 = N'SELECT COUNT(*)'
SELECT @sql2 = N'FROM authors WHERE state = @state' + sql3_mas_where_opcional
EXEC('EXEC sp_executesql N''' + @sql1 + @sql2 + ''',
N''@state char(2)'',
@state = ''' + @state + '''' [Nota_Aqui])
[Nota_Aqui] == aqui aumentaria los demas parametros q va a usar el sp
aveces se usarian a veces no , dependeria de lo q diga el @sql3_mas_where_opcional
Saludos
he aqui mi duda
he leido q una de las ventaja de sp_executesql es "guarda " el plan d consultas y permite usarla en las siguientes consultas
pero
si las condiciones en el where aumentan
¿esto obligaria al SQL a crear un nuevo plan de ejecucion?
DECLARE @sql1 nvarchar(4000),
@sql2 nvarchar(4000),
@state char(2)
SELECT @state = 'CA'
SELECT @sql1 = N'SELECT COUNT(*)'
SELECT @sql2 = N'FROM authors WHERE state = @state'
EXEC('EXEC sp_executesql N''' + @sql1 + @sql2 + ''',
N''@state char(2)'',
@state = ''' + @state + '''')
-----------------------
DECLARE @sql1 nvarchar(4000),
@sql2 nvarchar(4000),
@sql3_mas_where_opcional nvarchar(4000),
@state char(2)
SELECT @state = 'CA'
SELECT @sql1 = N'SELECT COUNT(*)'
SELECT @sql2 = N'FROM authors WHERE state = @state' + sql3_mas_where_opcional
EXEC('EXEC sp_executesql N''' + @sql1 + @sql2 + ''',
N''@state char(2)'',
@state = ''' + @state + '''' [Nota_Aqui])
[Nota_Aqui] == aqui aumentaria los demas parametros q va a usar el sp
aveces se usarian a veces no , dependeria de lo q diga el @sql3_mas_where_opcional
Saludos
Valora esta pregunta


0