Probeer de invoerparameter te maskeren.
Ik denk dat het opnieuw compileren niet werkt vanwege de opgegeven standaard (EDIT :Of parameter verzonden bij eerste oproep) wordt gesnoven tijdens het compileren. Hercompileren heeft dus geen effect.
Ik heb een enorm verschil gezien tussen geschatte plannen door simpelweg de standaardwaarde te wijzigen van bijvoorbeeld nul in NULL, of er geen te hebben.
ALTER PROCEDURE [usp_debug_mightwork]
@DATA_DT_ID AS int = 20081130
AS
BEGIN
DECLARE @IDATA_DT_ID AS int
SET @IDATA_DT_ID = @DATA_DT_ID
-- Stuff here that depends on IDATA_DT_ID
END
Ik denk dat dit artikel legt uit...
BEWERKEN:
Nieuwe link over queryplannen en parameters . Het is nog steeds parametersnuffelen of een standaard is opgegeven of niet.
Een soort verwant artikel over constanten en plannen